我有一个类似的问题,绑定到十几个不同的事件只是不削减它,因为有很多不同的方式来改变输入值,因为bobince指出。
所以 - 我最终写了死的简单的jQuery监控插件,这是本质上通用的。 有了它,你可以监视输入值发生变化,textarea的文字变化,格内容的变化,等:
https://github.com/nixd3v/monitor
跟踪格内容的变化:
$.monitor('add', function(){return $("div#someDiv").html()}, function(){
console.log('Div content changed');
});
跟踪输入值发生变化:
$.monitor('add', function(){return $("#password").val()}, function(){
console.log('input value changed');
});
它还使用过程中的一环,但不是通过的setInterval,而是通过使用setTimeout的具有自执行的匿名函数一起:
(function(){
// do some stuff
setTimeout(arguments.callee, 100);
})();
这里做的事情 - 这保证,下一次调用在代码执行之前未做出。如果您在代码中使用轮询 - 这是正确的方式。
从未来阅读,非常感谢。 – 2017-04-08 21:31:08