我试图用jQuery在右箭头键和左箭头键上按下一个事件.使用以下代码,我可以在任何字母数字键上触发事件,但光标键(向上,向下,向左,向右)不会触发任何内容.我主要为IE用户开发该网站,因为它是一个业务线应用程序.我在这里做错了吗?
$('document').keypress(function(e){ switch (e.which) { case 40: alert('down'); break; case 38: alert('up'); break; case 37: alert('left'); break; case 39: alert('right'); break; default: alert('???'); } });
Nick Berardi.. 47
e.which在IE中不起作用尝试e.keyCode,如果你的目标是IE,你可能也想使用keydown()而不是keypress().
有关更多信息,请参见http://unixpapa.com/js/key.html.
e.which在IE中不起作用尝试e.keyCode,如果你的目标是IE,你可能也想使用keydown()而不是keypress().
有关更多信息,请参见http://unixpapa.com/js/key.html.
使用jQuery,我已经做到了这种方式:
function checkKey(e){ switch (e.keyCode) { case 40: alert('down'); break; case 38: alert('up'); break; case 37: alert('left'); break; case 39: alert('right'); break; default: alert('???'); } } if ($.browser.mozilla) { $(document).keypress (checkKey); } else { $(document).keydown (checkKey); }
另外,试试这些插件,看起来它们可以为您完成所有工作:
http://www.openjs.com/scripts/events/keyboard_shortcuts
http://www.webappers.com/2008/07/31/bind-a-hot-key-combination-with-jquery-hotkeys/
你在字符串中有'document'这个词.更改:
$('document').keypress(function(e){
至
$(document).keypress(function(e){