看起来很简单,但我不知道如何从 Document DOM 中截取 javascript 上的数字
$(document).keypress(function (e) {
if (e.keyCode == xx) {
alert();
}
});
看起来很简单,但我不知道如何从 Document DOM 中截取 javascript 上的数字
$(document).keypress(function (e) {
if (e.keyCode == xx) {
alert();
}
});
数字是 48 到 57,所以...
$(document).keypress(function (e) {
var key = e.keyCode || e.charCode;
if (key >= 48 && key <= 57) {
alert('You pressed ' + (key - 48));
}
});
来源:http ://www.quirksmode.org/js/keys.html
按键事件在 Firefox 中产生 0 的 keyCode,在其他任何地方产生 ASCII 字符值。按键事件在 Firefox 中产生 ASCII 字符值的 charCode。因此,您应该使用(e.keyCode || e.charCode)
来获取字符值。
另请注意,您的代码也不起作用,因为alert
应该接受一个参数。至少在 Firefox 中,不alert
带参数调用会引发异常。
解决了这两个问题后,您的代码现在将是:
$(document).keypress(function (e) {
if ((e.keyCode || e.charCode) == <number from 48..57 inclusive>) {
alert('something');
}
});
示例:http: //jsfiddle.net/gRrk6/
$(document).keydown(function(event){
if(event.keyCode == 13) {
alert('you pressed enter');}
});
将 13 替换为密钥代码,请参阅此处了解详细信息:http:
//www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
你应该注意到事件[keyCode, charCode, which] 和这个受浏览器影响的测试页面之间的差异,即我在safari 上测试了它, onKeyPress总是空的