【发布时间】:2011-07-12 08:39:41
【问题描述】:
假设我们有以下 JQuery 代码:
$(document).bind('keyup', function(e) {
arrows=((e.which)||(e.keyCode));
switch (arrows){
case 37:
executeMyfunction();
break;
}
});
如果用户按住左箭头键 (37),则会重复调用 executeMyfunction()。
如何防止这种情况发生?
我认为keyup 只会在密钥被释放但它不起作用时才会触发(这就是我使用 keyup 的原因;keydown 也不起作用)。
【问题讨论】:
-
你能建立一个 jsfiddle.net 来展示这个吗?
-
这对我来说按预期工作:jsfiddle.net/VMvcT
-
@loannis 嗯,你的 TAB 键一定是坏了
:) -
@loannis Afaik,keydown 和 keypress 会重复触发,keyup 不会。
-
@loaniss 你的
arrows变量必须被声明!
标签: javascript jquery keypress jquery-events onkeyup