jquery – 隐藏输入更改事件

前端之家收集整理的这篇文章主要介绍了jquery – 隐藏输入更改事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何检测隐藏输入值的变化?我已经尝试过这些方法没有成功:
$('#id_inpout').live('change',function () {
        var id_el = $(this).attr('id');
        alert(id_el);
    });

$('#id_inpout').change(function () {
        var id_el = $(this).attr('id');
        alert(id_el);
    });

$('#id_inpout').bind('change',function () {
        var id_el = $(this).attr('id');
        alert(id_el);
    });

解决方法

正如你所看到的那样,在javascript中所做的更改不会触发更改事件。

因为我没有在重复的对象中找到可接受的答案(这就是解决方案不涉及隐藏值的设置方式的改变),并且假设你真的需要这个(当你改变隐藏的值时你不能调用你的函数输入val),这是你可以做的:

function survey(selector,callback) {
   var input = $(selector);
   var oldvalue = input.val();
   setInterval(function(){
      if (input.val()!=oldvalue){
          oldvalue = input.val();
          callback();
      }
   },100);
}
survey('#id_inpout',function(){console.log('changed')});

但是,我最好使用更直接的解决方案(即在更改隐藏的输入值时调用函数)。此函数可能是您自己的简单事件调度程序(基本上是一个包含要调用函数列表的对象)。

编辑:现在是2015年,人们想知道,不,网络世界最近的进步没有解决这个问题。突变观察者不会观察到输入的值属性(它不是真正的DOM),而ES6对象观察者也对这些本机对象无能为力。

猜你在找的jQuery相关文章