为了将我的jQuery onClick事件转换为用户可以使用键盘的按键事件,我缺少什么?
具体示例是计算器。使用jQuery和点击/触摸事件工作完美。但是,当我尝试引入keyCodes时,我认为不应该得到结果。
这是我的示例代码;
$(document).keypress(function(event){
var display = "0";
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode === 13){
alert(keycode + " = ENTER");
calcDisplay(total(), true);
}
});
我从其他成功的解决方案中找到了类似的问题。所以我理解的方式是;如果有人按下"在键盘上输入" ,我会收到提醒,然后处理我的回答。
这个适用于我的jQuery版本看起来像这样;
$(".button").on("click touch", function(){
var button = $(this).data("value");
if(button === "="){
calcDisplay(total(), true);
}
如果这对我来说是非常愚蠢的事情,请提前向JS提供超级新闻。
答案 0 :(得分:1)
keypress
用于在插入字符作为输入时使用。 keydown
旨在用于检测任何键。
quirksmode has a nice little write-up about the differences
而不是$(document).keypress
使用$(document).keydown
。
此外,jQuery规范化event.which
,因此代替:
var keycode = (event.keyCode ? event.keyCode : event.which);
你可以使用
var key = e.which;