jQuery热键触发太快:如何捕捉较慢的按键?
我使用jQuery热键插件,代码如下:jQuery热键触发太快:如何捕捉较慢的按键?,jquery,keypress,keydown,hotkeys,Jquery,Keypress,Keydown,Hotkeys,我使用jQuery热键插件,代码如下: $(document).bind('keydown', 'right', function(){ console.log('fired'); display_info(); }); 按下右键时,显示信息();被呼叫大约3-4次。我怎样才能让按键慢一点 谢谢 尝试按向上键而不是按向下键,或者创建计时器 这是我设计的一个快速而肮脏的计时器,它应该能让你很好地了解你需要做什么:我想添加它,以防其他人遇到这个问题。 你遇到
$(document).bind('keydown', 'right', function(){
console.log('fired');
display_info();
});
按下右键时,显示信息();被呼叫大约3-4次。我怎样才能让按键慢一点
谢谢 尝试按向上键而不是按向下键,或者创建计时器
这是我设计的一个快速而肮脏的计时器,它应该能让你很好地了解你需要做什么:我想添加它,以防其他人遇到这个问题。 你遇到的问题听起来和我遇到的问题一模一样。 如果我绑定了多个快捷方式事件,则每个事件的执行时间将比文档中的快捷方式绑定总数少一次。我有这样的想法:
$(document).bind('keydown', 'alt+a', function () {
alert('A Pressed');
});
$(document).bind('keydown', 'alt+b', function () {
alert('B Pressed');
});
$(document).bind('keydown', 'alt+c', function () {
alert('C Pressed');
});
对于每个快捷键绑定,我都会收到两次警报。我解决这个问题的方法是解除快捷方式的绑定,并添加一个方法来处理警报和解除绑定
$(document).ready(function () {
$(document).bind('keydown.alt+a', 'alt+a', function () {
alertAndUnbind('A', 'alt+a');
});
$(document).bind('keydown.alt+b', 'alt+b', function () {
alertAndUnbind('B', 'alt+b');
});
$(document).bind('keydown.alt+c', 'alt+c', function () {
alertAndUnbind('C', 'alt+c');
});
});
function alertAndUnbind(letter, shortcut) {
alert(letter);
$(document).unbind('keydown.' + shortcut, shortcut);
});
以这种方式使用“取消绑定”允许我只执行每个快捷方式的代码一次,同时每次按下快捷方式时都保留快捷方式功能,并保持代码相对干燥。尝试了键控,但仍然触发过快。关于如何构建计时器有什么建议吗?还是javascript新手!谢谢,那不就是打了同样的电话,但是一秒钟之后吗?
$(document).ready(function () {
$(document).bind('keydown.alt+a', 'alt+a', function () {
alertAndUnbind('A', 'alt+a');
});
$(document).bind('keydown.alt+b', 'alt+b', function () {
alertAndUnbind('B', 'alt+b');
});
$(document).bind('keydown.alt+c', 'alt+c', function () {
alertAndUnbind('C', 'alt+c');
});
});
function alertAndUnbind(letter, shortcut) {
alert(letter);
$(document).unbind('keydown.' + shortcut, shortcut);
});