JS中键盘事件及keyCode对照表

一.Keycode对照表



二.键盘事件

1.键盘事件:完整的 key press 过程分为两个部分:1. 按键被按下;2. 按键被松开。

keydown:按键按下
keyup:按键抬起

keypress:按键按下抬起

2.使用时

//jq的方式
$("input").keydown(function(){
	$("input").css("background-color","#FFFFCC");
});
$("input").keyup(function(){
	$("input").css("background-color","#D6D6FF");
});

js的方式
document.οnkeyup=function(e){  
	console.log(e.keyCode)
	e=e||window.event;  
	e.preventDefault(); 
	console.log(index)
	switch(e.keyCode){  
		case 38: 
			console.log('上键');
			break; 
		case 40:
			console.log('下键');
			break;
	}
}

3.例子:上下键选择样式 回车键输出选中的值

<style type="text/css">
	.list{
		width: 100px;
		height: 100px;
	}
	.list li{
		line-height: 20px;
		color: #333;
		list-style-type: none;
	}
	.addActive{
		background-color: #ccc;
		color: #fff;
	}
</style>
</head>
<body> 
    <ul class="list" id="jsList">          
        <li class="li_list">1.苹果</li>  
        <li class="li_list">2.梨</li>  
        <li class="li_list">3.香蕉</li>  
        <li class="li_list">4.凤梨</li>  
        <li class="li_list">5.西瓜</li>  
        <li class="li_list">6.香瓜</li>  
    </ul>
    <P>最后选择的值:<span id="valJs"></span></P>   
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
	var list=$('#jsList .li_list');
	// var index=0;
	document.οnkeyup=function(e){  
		console.log(e.keyCode)
		e=e||window.event;  
		e.preventDefault(); 
		var index=$('#jsList .li_list.addActive').index();//获取高亮的索引
		switch(e.keyCode){  
			case 38: 
			 	if(index >0 && index < list.length){
			 		index--;
			 		$('#jsList .li_list').removeClass('addActive').eq(index).addClass("addActive");
			 	}
				console.log('上键');
				break; 
			case 40:
				console.log('下键');
				if(index <list.length){
					index++;
			 		$('#jsList .li_list').removeClass('addActive').eq(index).addClass("addActive");
				}
				if(index >= list.length){
					$('#jsList .li_list').removeClass('addActive').eq(list.length-1).addClass("addActive");
				}
				break;
			case 13:
				console.log('回车键获取选中的值');
				$("#valJs").text($('#jsList .li_list.addActive').text());
				break;
		}
	}
})
</script>

  • 7
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值