WEB前端 | JS基础——(9-2)键盘事件

<!doctype html>
<html>
	<head>
		<meta charset="utf-8"/>
		<title>键盘事件</title>
		<style type="text/css">
			
		</style>
	</head>
	<body>
		<form action="http://www.baidu.com" method="get">
		<input type="text" name="userName" required/>
		<input type="submit" value="提交按钮"/>
		</form>
	</body>
	<script type="text/javascript">
		var count = 0;
		// 键盘事件
		// onkeydown 键盘按下去的时候触发,如果长按,就会连续触发绑定的方法
		// onkeyup 键盘按下去并抬起来的时候触发,
		
//		document.onkeyup = function(ev) {
//			var evObj = window.event || ev;
//			// keyCode 是每个键盘事件的一个编码,可以改变
//			console.log(evObj.keyCode);
//		}

		document.onkeydown = function(ev) {
			var evObj = window.event || ev;
			if (evObj.keyCode == '13' && evObj.ctrlKey) {
				console.log('发表');
			}
			if (evObj.keyCode == '68' && evObj.shiftKey) {
				console.log('右移');
			}
			if (evObj.keyCode == '75' && evObj.shiftKey && evObj.altKey) {
				console.log('开始');
			}
		}
		// 长按p键 只触发一次
		var n = 0;
		document.onkeydown = function(ev) {
			var evObj = window.event || ev;
			n++;
			if (evObj.keyCode == '80' && n == 1) {
				count++;
				console.log(count);
			}
		}
		document.onkeyup = function() {
			n = 0;
		}
		
		//onkeypress 事件可以区分键盘输入的大小写字母
		document.onkeypress = function(ev){
			//使用onkeypress的时候,主要用于获取字母以及大小写,火狐等浏览器使用ev.which来获取
			var keyCode = ev.keycode || ev.which;
			console.log('点了键盘' + keyCode);
		}
		
		var form = document.getElementsByTagName('form')[0];
		// onsubmit 可以帮我们自定义一个表单提交事件,同时可以返回false来阻止默认的表单提交跳转。
		// 也可以使用ev.preventDefault() 来阻止跳转(IE6 - 8 不兼容)。
		form.onsubmit = function(ev) {
			console.log('表单要提交了');
			// return false;
			ev.preventDefault();
		}
		
		var userName = document.getElementsByTagName('input')[0];
		userName.onfocus = function() {
			console.log('聚焦');
		}
		userName.onblur = function() {
			console.log('失焦');
			// 让文本框聚焦
			userName.focus();
		}
	</script>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值