Vee*_*era 2 ubuntu jquery google-chrome
我正在使用Ubuntu 10并在Firefox 3.6和Chrome 5中尝试以下代码.
$(document).ready(function(){
$(document).bind("keypress", function(e){
alert("Pressed");
});
});
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,上面的代码在FF3.6中运行良好.即对于按下的每一把钥匙,我都会收到警报框.
但在Chrome中,我看到了不同的行为.例如,当我按向上/向下翻页,向上/向下箭头/向左键(不幸的是,这些是我迫切想要跟踪的关键事件)时,我没有收到警报框.
有没有人为什么Chrome没有将'keypress'事件绑定到某些键,例如向上/向下翻页,向左/向右箭头?
该onkeypress事件事件最初是为Internet Explorer的一个专有的事件,后来包括在其他浏览器,但具有不同的实现.Chrome/Safari仍然适用于Microsoft实施,其文档指出:
从Microsoft Internet Explorer 4.0开始,onkeypress事件将触发,可以取消以下键:
字母:A - Z(大写和小写)
数字:0 - 9
符号:!@#$%^&*()_ - + = <[] {} ,. /?\ | ''"〜
系统:ESC,SPACEBAR,ENTER
对于其他键,您应该绑定到keydown或keyup.
所述Quirksmode.org兼容性参考状态:
当用户按下特殊键(如箭头键)时,浏览器不应触发按键事件.