目前,当我按住Ctrl按钮并保持一会儿时,我在jQuery的帮助下绑定到keydown事件的处理程序会多次触发-我希望避免每次单独按下时多次触发它。我该怎么做?
最佳答案
如果无论您做什么,都不必立即触发,则可以改为收听keyup
。
否则,您可以在keydown
上设置一个标志,并在keyup
上将其清除:
$element.keydown(function() {
var data = $(this).data();
if(!data['pressed']) {
data['pressed'] = true;
// do stuff
}
}).keyup(function() {
$(this).data('pressed', false);
});