javascript - Ajax on keyup 或粘贴

标签 javascript jquery

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

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

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

最佳答案

您可以使用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/

关于javascript - Ajax on keyup 或粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440831/

相关文章:

javascript - 当一个 promise 依赖于另一个 promise 时,Bluebird 的 Promise.all() 方法

php - jQuery keydown 功能不起作用

asp.net - 在 ASP.NET 母版页中使用 JQuery

jquery - 使用jquery对列表内容进行排序

javascript - 使用 jQuery 防止 onclick Action

JavaScript DOM 移除元素

javascript - Uncaught ReferenceError : makePopunder is not defined

jquery - 如何在 froala 编辑器上重置(UNDO 和 REDO)按钮的状态

php - 如何在自定义 WP_Query Ajax 上实现分页

javascript\jquery : Event that fires when textbox changes