1 <html> 2 <head> 3 <script type="text/javascript"> 4 function whichButton(event) 5 { 6 alert(event.keyCode) 7 } 8 9 </script> 10 </head> 11 12 <body onkeyup="whichButton(event)"> 13 <p><b>注释:</b>在测试这个例子时,要确保右侧的框架获得了焦点。</p> 14 <p>在键盘上按一个键。消息框会提示出该按键的 unicode。</p> 15 </body> 16 17 </html>
JS实现键盘监听(包括组合键)带键值表 如Ctrl+V
document.οnkeydοwn=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; { if (e.keyCode == 86 && e.ctrlKey) { alert("你按下了ctrl+V"); } } };
博客园实现快捷键Alt+上下方向键调到<h2>目录
按键名 KeyCode Up 38 Down 40 Alt_L 18 Alt_R Ctrl ctrlKey (大小写敏感) Alt altKey
1 document.οnkeydοwn=function(event){ 2 var e = event || window.event || arguments.callee.caller.arguments[0]; { 3 if (e.keyCode == 40 && e.altKey) { 4 alert("你按下了alt+down"); 5 } 6 } 7 };
然后把alert()换成一个定位到<h2>的函数就OK
document.getElementsByTagName("h2")[num++].scrollIntoView();
1 <script type="text/javascript"> 2 // 按下Alt+Down遍历跳转h2 3 var num = 0; 4 document.οnkeydοwn=function(event){ 5 var e = event || window.event || arguments.callee.caller.arguments[0]; { 6 7 var k = document.getElementsByTagName("h2"); 8 9 if (e.keyCode == 40 && e.altKey) { 10 num = (num > k.length)? k.length: num; 11 k[num++].scrollIntoView(false); 12 console.log("Alt+Down"); 13 //alert("你按下了alt+down"); 14 } 15 else if (e.keyCode == 38 && e.altKey) { 16 num = (num < 0)? 0: num; 17 k[num--].scrollIntoView(); 18 console.log("Alt+Up"); 19 //alert("你按下了alt+up"); 20 } 21 22 } 23 }; 24 </script>
如果需要其他header,可以引用远程JQ库(不过好像博客园用了JQ库),然后用
$(":header"); 代替 document.getElementsByTagName("h2")[num++].scrollIntoView();
注意:博客园的JS代码里不能有alert( 字段,注释也不行
使得comfirm事件永远为真:
var confirm=function(){return 1}