使用jquery的bind方法有什么问题?
工作
var Element = htmlBody.find('tag');
$(Element ).bind('DOMSubtreeModified', function(event) {
console.log(Element[0]);
//code come here
});
不工作
var obj = {};
var tags = ['tag1', 'tag2'];
for (index in tags) {
obj[index] = htmlBody.find(tags[index]);
$(obj[index]).bind('DOMSubtreeModified', function(event) {
console.log(obj[index][0]);
// code doe not come here
});
}
答案 0 :(得分:1)
尝试以下方法:
var obj = {};
var tags = ['tag1', 'tag2'];
$.each(tags, function(idx, item) {
obj[idx] = htmlBody.find(tags[idx]);
$(obj[index]).bind('DOMSubtreeModified', function(event) {
console.log(item);
});
});
答案 1 :(得分:1)
建议使用on
功能代替bind()
。您还需要使用for
循环遍历元素。
var obj = {};
var tags = ['tag1', 'tag2'];
for (var i = 0; i < tags.length;i++) {
obj[i] = htmlBody.find(tags[i]); //not exactly sure what htmlBody.find does
var item = obj[i][0];
$(obj[i]).('DOMSubtreeModified', function(event) {
console.log(item);
});
}