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