[英]Function executed three times
$('[name="properties_box"]').change(function() {
if(this.checked) {
console.log(properties.length - 1);
for (var i = 0; i < (properties.length - 1); i++) {
(function(index) {
console.log('iterator: ' + index);
//do ajax here
})(i);
}
}
});
它應該只記錄0-7。 但是它這樣做了三遍。
7 main.js?ver=20130905:732
iterator: 0 main.js?ver=20130905:737
iterator: 1 main.js?ver=20130905:737
iterator: 2 main.js?ver=20130905:737
iterator: 3 main.js?ver=20130905:737
iterator: 4 main.js?ver=20130905:737
iterator: 5 main.js?ver=20130905:737
iterator: 6 main.js?ver=20130905:737
7 main.js?ver=20130905:732
iterator: 0 main.js?ver=20130905:737
iterator: 1 main.js?ver=20130905:737
iterator: 2 main.js?ver=20130905:737
iterator: 3 main.js?ver=20130905:737
iterator: 4 main.js?ver=20130905:737
iterator: 5 main.js?ver=20130905:737
iterator: 6 main.js?ver=20130905:737
7 main.js?ver=20130905:732
iterator: 0 main.js?ver=20130905:737
iterator: 1 main.js?ver=20130905:737
iterator: 2 main.js?ver=20130905:737
iterator: 3 main.js?ver=20130905:737
iterator: 4 main.js?ver=20130905:737
iterator: 5 main.js?ver=20130905:737
iterator: 6
有人可以解釋為什么以及如何解決它嗎? 我將在其中進行一些AJAX調用,因此重要的是它的運行不會超出需要。
我認為綁定更改三次的問題,請參閱發布的評論,我建議將其作為答案
$('[name="properties_box"]').unbind()
在bind事件調用之前,請使用上面的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.