我在同一个对象上同时使用 .keydown() 和 .keyup() 事件处理程序,每当键盘形式的键被释放时,jquery 就会触发 .keyup() .. 我想防止 jquery 触发 .keyup( ) 事件,直到所有键都被释放(不仅仅是一个),因为我正在使用多键按下功能......知道吗?
问问题
207 次
1 回答
1
存储 keydown 事件的计数以及 keyup 事件的计数。对于每次迭代,您都需要从 keydown 计数中减去 keyup 计数。当计数达到 0 时,您将拥有与 keydown 一样多的 keyup,然后您可以运行您的功能。
编辑:这远非完美,但演示了这个概念http://jsfiddle.net/K2ny2/1/
function testKeys(u, d) {
var delta = u - d;
console.log(delta);
if(0 == delta) {
$('#result').show();
}
}
当有人按住键(重复)时,您可能希望包含一些代码以避免出现问题。
于 2014-04-16T21:09:29.670 回答