js中的键盘事件

1、用户同时按下两个按键,如何判断是哪两个?

if ((window.event.ctrlKey)&&(window.event.keyCode==49))

alert("您按下了CTRL+1键");

所以如果是获取类似shift、Control、Alt 等,可在JS中用“window.event.shiftKey”、“window.event.ctrlKey”、“window.event.altKey” 代替。

特别需要注意的是:Internet Explorer/Chrome 浏览器使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox/Opera 等浏览器使用 event.which。

2、如何在获取键值和按键名称之间切换

一般情况下,按键转化为键值和键值转化为按键字符串的方法分别为:e.keyCode 、 String.fromCharCode()

	window.document.onkeydown = function(e){
		
		var keynum = window.event ? e.keyCode : e.which;//通过判别浏览器,获得键值,数字形式的
	    var keychar = String.fromCharCode(keynum);//将数字形式的键值转化为真实的按键
	    alert(keynum+':'+keychar);	
	}

3、屏蔽alt+→操作

 if ((window.event.altKey)&& 
      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向键 ← 
       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 → 
     alert("不准你使用ALT+方向键前进或后退网页!"); 
     event.returnValue=false; 
     } 

4、JavaScript中Event.returnValue属性

var charCode=event.keyCode;
if(charCode<48||charCode>75)
{
alert("对不起,你输入的不是数字字符!");
event.returnValue=false;
}

<textarea name="textarea" onKeyPress="shijian()"></textarea>

该属性是设置或获取事件的返回值。Event对象的returnValue属性的值一般是true,即脚本处理完自己的工作后由元素处理事件。
通过该属性可以取消事件处理程序中调用函数的默认操作。

如果没有event.returnValue=false;这句填写的字符不是数字也会在文本框显示。
加上这句,如果不是数字就不会在文本框显示。代码会执行完,但是事件的操作不会继续下去了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值