1

我正在对 keyup 或 paste 执行 Ajax 请求。问题是当用户使用 Control-V 进行粘贴时,会出现两个 ajax 请求——一个用于粘贴,一个用于 keyup。

$("#my-form").bind('keyup paste', function(e) {...}

在 keyup 或 paste 上绑定的好方法是什么?

4

1 回答 1

5

您可以使用setTimeout/clearTimeout来延迟事件,因此它只会触发一次。

$("#my-form").bind('keyup paste', function(e) {
    clearTimeout($(this).data('timeout'));
    $(this).data('timeout', setTimeout(function(){
        // your code
    }, 200));
});

演示:http: //jsfiddle.net/4b7y5/

于 2012-07-11T20:24:40.900 回答