目前,当我按住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);
});

09-11 07:44
查看更多