将 jQuery onClick 切换为 keyCode
Switch jQuery onClick to keyCode
为了将我的 jQuery onClick 事件转换为用户可以使用小键盘的按键事件,我错过了什么?
具体例子是计算器。使用 jQuery 和 on click/touch 事件完美无缺。但是,当我尝试引入 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);
}
});
其中大部分是我从其他类似问题的成功解决方案中提取的。所以我的理解是;如果有人在键盘上按 "enter",我会收到警报,然后处理我的答案。
适合我的 jQuery 版本如下所示;
$(".button").on("click touch", function(){
var button = $(this).data("value");
if(button === "="){
calcDisplay(total(), true);
}
superNewb 到 JS 如果这对我来说是非常愚蠢的事情,请提前多多关爱。
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;
为了将我的 jQuery onClick 事件转换为用户可以使用小键盘的按键事件,我错过了什么?
具体例子是计算器。使用 jQuery 和 on click/touch 事件完美无缺。但是,当我尝试引入 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);
}
});
其中大部分是我从其他类似问题的成功解决方案中提取的。所以我的理解是;如果有人在键盘上按 "enter",我会收到警报,然后处理我的答案。
适合我的 jQuery 版本如下所示;
$(".button").on("click touch", function(){
var button = $(this).data("value");
if(button === "="){
calcDisplay(total(), true);
}
superNewb 到 JS 如果这对我来说是非常愚蠢的事情,请提前多多关爱。
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;