js判断键盘按键
2008-10-30 09:35
260 查看
function document.onkeydown() { if ( event.keyCode=='39' ) //->右箭头 { window.open("http://www.163.com"); } } function document.onkeypress() { if ( event.keyCode=='43' ) { alert( '你输入了键盘的 “ + ” 键'); } } ![]() 在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress、onkeydown、onkeyup三个事件进行出来。该三个事件的执行顺序如下:onkeydown -> onkeypress ->onkeyup。在一般情况下,采用三种键盘事件均可对键盘输入进行有效的响应。当在实际使用中,会发现这几者有些不同的差别。 ![]() ![]() onkeypress事件不能对系统功能键(例如:后退、删除等,其中对中文输入法不能有效响应)进行正常的响应,onkeydown和onkeyup均可以对系统功能键进行有效的拦截,但事件截获的位置不同,可以根据具体的情况选择不同的键盘事件。 ![]() 由于onkeypress不能对系统功能键进行捕获,导致window.event对象的keyCode属性和onkeydown,onkeyup键盘事件中获取的keyCode属性不同,主要表现在onkeypress事件的keyCode对字母的大小写敏感,而onkeydown、onkeyup事件不敏感;onkeypress事件的keyCode无法区分主键盘上的数字键和付键盘数字键的,而onkeydown、onkeyup的keyCode对主付键盘的数字键敏感。 ![]() http://liu2liu2.spaces.live.com/blog/cns!54B12917375EF5A0!270.entry 屏蔽组合键ctrl+N <script language=javascript> function KeyDown(){ if ((window.event.altKey)&& ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ← (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 → alert("不准你使用ALT+方向键前进或后退网页!"); event.returnValue=false; } if ((event.keyCode==8)|| //屏蔽退格删除键 (event.keyCode==116)){ //屏蔽 F5 刷新键 event.keyCode=0; event.returnValue=false; } if ((event.ctrlKey)&&(event.keyCode==78)){ //屏蔽 Ctrl+n event.returnValue=false; } if ((event.shiftKey)&&(event.keyCode==121)){ //屏蔽 shift+F10 event.returnValue=false; } if (event.keyCode==122){ //屏蔽 F11 event.returnValue=false; } }
|