【发布时间】:2016-04-17 00:45:46
【问题描述】:
为了将我的 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);
}
});
我从其他类似问题的成功解决方案中获得了大部分内容。所以我理解它的方式是;如果有人在键盘上按下 "enter",我会收到警报,然后处理我的回答。
适合我的 jQuery 版本如下所示;
$(".button").on("click touch", function(){
var button = $(this).data("value");
if(button === "="){
calcDisplay(total(), true);
}
如果这对我来说是超级愚蠢的事情,那么这里对 JS 的超级新人非常喜欢。
【问题讨论】:
-
您的代码应该可以工作。这是一个正在工作的 plunker plnkr.co/edit/mvDnrOEiUPgmUKWBj5OD?p=preview 。
console.log(keycode);在if(keycode === 13)之前给你什么 -
如果你记录
keycode,记录的值是多少? -
听
keydown而不是keypress。
标签: javascript jquery keycode keypad