当前位置: 首页 > 面试题库 >

节气门AJAX请求KeyUp和粘贴事件

温成济
2023-03-14
问题内容

所以我在文本框上的jQuery中的每个keyupand paste事件上调用AJAX请求:

 $("#server-label").bind("keyup paste", function() {
     $.ajax()...
 });

问题是,如果用户快速按下按键,这就是太多的AJAX请求。什么是等待用户停止键入(例如500ms)再调用AJAX请求之前的最佳方式。基本上,在没有按键或粘贴事件触发500ms之前,不要发出AJAX请求。

谢谢。


问题答案:

尝试使用setTimeout()timervar来跟踪它:

var t;
$("#server-label").on("keyup paste", function() {
    clearTimeout(t);
    t = setTimeout(function() {
        $.ajax({/*[...]*/});
        //...
    }, 500);
});

您也可以使用油门或反跳功能,但我认为如果将代码包装在函数对象或字符串中以传递给setTimeout()函数,则没有必要。



 类似资料:
  • 问题内容: 我有一个jQuery Ajax请求,我想用文本输入调用它,因此我将其嵌套在里面。这很好。 但这有时表现为越野车。当我非常快速地输入一些文本时,我得到的输入单词的结果中省略了原始输入单词的最后几个字母(可能是浏览器的某些错误)。我希望在没有输入活动持续一秒钟的情况下发送ajax请求,如果我很快输入文本并休息一秒钟(意味着我进行了输入)。我怎样才能做到这一点? 问题答案: 听起来好像是从先

  • 本文最初发表于博客园,并在GitHub上持续更新前端的系列文章。欢迎在GitHub上关注我,一起入门和进阶前端。 以下是正文。 同步和异步 同步和异步的概念 同步:必须等待前面的任务完成,才能继续后面的任务。 异步:不受当前任务的影响。 拿排队举例: 同步:在银行排队时,只有等到你了,才能够去处理业务。 异步:在排队的时候,可以玩手机。 异步更新网站 我们在访问一个普通的网站时,当浏览器加载完HT

  • 问题内容: 如何在Angular 1.1.5中的输入中的“粘贴”事件上执行功能?我知道有一个输入指令。但每次输入更改时都会触发,初始粘贴只需要一次。 用例:我有一个URL输入。我想在用户粘贴URL后执行一个功能。用户还可以手动输入URL并按Enter执行功能。 - 更新: 自Angular 1.2.0起,ngPaste是本机指令。 问题答案: 从Angular 1.2.0开始,存在ngPaste指

  • 问题内容: 有没有办法在JavaScript中拦截粘贴事件并获取原始值,对其进行更改并将关联的DOM元素的值设置为修改后的值? 例如,我有一个用户试图复制并粘贴带空格的字符串,并且字符串的长度超过了我的文本框的最大长度。我想截取文本,删除空格,然后使用更改值设置文本框的值。 这可能吗? 问题答案: 您可以通过附加“ onpaste”处理程序来拦截粘贴事件,并通过在IE中使用“ ”或在其他浏览器中使

  • 问题内容: 当我尝试使用粘贴到单元格时,我要粘贴的单元格保持空白,但setValueAt()似乎可以正常工作。另外,当我尝试从一个单元格剪切或复制JPopupMenu时,如果要粘贴到另一个单元格,则我的“粘贴”选项将保持禁用状态。我不知道为什么。我的代码如下。 Here’s my code for 问题答案: 根据您的示例代码,并且必须填写空白,它对 我有用… Now, maybe you’d l

  • 结果如下: 我可以做什么来使这个返回'somefunc_linux'?。Clang似乎做得很对,顺便说一句。