我有一個類似的問題,綁定到十幾個不同的事件只是不削減它,因爲有很多不同的方式來改變輸入值,因爲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