微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 1s后用ajax发送击键?

我想发送在文本字段中键入的击键,但仅在1s间隔内.

这是为了减少在每个按键上发送ajax请求的负担.

所以,例如.如果用户在一秒内键入4个字母,请求将发送所有这4个字母.并且让我说他在1分钟内不间断地键入,然后脚本将以1s的间隔发送,直到他停止输入.

目前我的脚本看起来像这样:

$("#type_post").live('keyup', function() {
      $.post('posts.PHP', {post: $("#type_post").val()});
});

但这会发送所有按键.

有人可以帮助我

更新:这是我使用的代码.

var last_post = '';

$('#type_post').focus(function() {
     // check if text has been changed every second when input field is focused
     setInterval(function() {
          if($('#type_post').val() != last_post)
          {
               // if changed, post it and set the new text as last text
               $.post('posts.PHP', {post: $("#type_post").val()});
               last_post = $("#type_post").val();
          }
     }, 1000);
});

解决方法:

好吧,无论这个功能有多烦人,你都希望使用setTimeout()(info here)每秒运行一个函数获取文本.如果它不同,那么执行ajax调用.

除此之外,您只需要在文本框具有焦点时启用此功能,因此您可以在“焦点”和“模糊”事件上设置字段和相关操作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐