我正在尝试使用以下代码来在输入框中按下空格键
时触发js方法。
<input id="j1" />
$('#j1').keypress (function (event){
alert(event.keycode)
});
在 Firefox 中,仅当按下 enter
时才会返回正确的值,其他键每次返回的值都只是 0。在 IE/chrome 中,这工作得很好。
最佳答案
在非 IE 浏览器中,您需要在 keypress
事件中使用 which
或 charCode
属性,而不是 keyCode
属性。 keypress
事件用于检测键入的字符,而 keyup
和 keydown
用于检测物理按键(在这些事件中,keyCode
适用于所有主流浏览器)。
var charCode = (typeof event.which == "number") ? event.which : event.keyCode;
但是,jQuery 通过使用与此类似的代码来标准化按键事件的 which
属性,因此在 jQuery 中您只需要
var charCode = event.which;
有关关键事件的(很多)更多详细信息,请参阅 http://unixpapa.com/js/key.html .
关于javascript - event.keycode 在 Firefox 中未返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7330724/