jQuery:keydown事件多次触发

时间:2011-08-21 14:38:04

标签: jquery

目前,当我按住Ctrl键并按住它一段时间后,我在jQuery的帮助下绑定到keydown事件的处理程序会被多次触发 - 我希望避免多次触发它一个单独的新闻。我将如何实现这一目标?

1 个答案:

答案 0 :(得分:3)

如果无论你做什么,都不必立即触发,你可以改为倾听keyup [docs]

否则,您可以在keydown上设置一个标记并在keyup上清除它:

$element.keydown(function() {
    var data = $(this).data();

    if(!data['pressed']) {
        data['pressed'] = true;
        // do stuff
    }
}).keyup(function() {
    $(this).data('pressed', false);
});