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

javascript – jquery:用频率观察字段

我需要使用 JQuery来检测文本文件的更改,因此调用了一些ajax.

诀窍是我真的不想将此动作绑定到模糊或键盘事件;前者对于用户来说太麻烦,第二个是“太中等”:用户在ajax调用完成之前键入新密钥,因此用户体验不是很好(所以this SO question的答案不适用于我的情况).

我需要的是一些代码,用于检查字段值是否已经改变,但是定期(即每0.5秒).我想在几个字段上使用相同的代码,调用不同的ajax函数,具有不同的频率,因此重用在这里真的是一个加分.

在Rails上我有observe_field(内部使用Prototype的Form.Element.observer,我认为)就是这样做的.我怎样才能在JQuery上完成相同的事情?

解决方法

我最终滚动了自己的jquery插件.

它(松散地)基于Mic的实现.

为它创建了一个github项目:

http://github.com/splendeo/jquery.observe_field

与Mic的主要区别在于:

>我在几个地方使用jQuery的方法而不是本地方法.
>我没有激活/停用检测onblur和onfocus.通过这种方式,我可以跟踪代码所做的更改(rails的observe_field执行此操作,我想模仿它)
>我在每个onkeyup上重置计时器.我需要这个才能很好地使用移动设备,比如iphone.

快速片段:

$(function() {
  // Executes a callback detecting changes with a frequency of 1 second
  $("#item1").observe_field(1,function( ) {
    alert('Change observed! new value: ' + this.value );
  });
});

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

相关推荐