jquery – 隐藏输入更改事件

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

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

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

解决方法

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

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

  1. function survey(selector,callback) {
  2. var input = $(selector);
  3. var oldvalue = input.val();
  4. setInterval(function(){
  5. if (input.val()!=oldvalue){
  6. oldvalue = input.val();
  7. callback();
  8. }
  9. },100);
  10. }
  11. survey('#id_inpout',function(){console.log('changed')});

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

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

猜你在找的jQuery相关文章