jQuery:如何使用live()捕获键盘按键?

11

我需要在一些动态输入框中捕获Tab键按下事件,但使用keypress事件的常规语法似乎不能捕获该键码。

$('input').live('keypress', function (e) {
   if ( e.which == 9 )
       alert( 'Tab pressed' );
});

无论我按哪个键,调试器(firebug)中都会捕获0作为按键的值。

2个回答

25

尝试使用.keyCode替换.which:

$('input').live('keypress', function (e) {
   if ( e.keyCode == 9 ){
       alert( 'Tab pressed' );
    }
});

看起来可以工作 ;)


9

1
确实。quirksmode网站上也有关于事件的浏览器兼容性信息,以及某些键在特定浏览器中的怪异行为。我在我的代码中选择了keydown事件。 - Josh Smith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接