我正在做一些扩展,在其中侦听插入的动态内容并使用这两种方法。
searchTag = 'tagtosearch'
$(document).on ('DOMNodeInserted', searchTag,{}, function(e){
});
$(document).arrive(searchTag, function(){
});
两者都很好。第二个版本是与Here
分开的库有趣的是此标记的某些属性,当调用回调时,来自this
的属性可能仍未定义。
要解决此问题,请使用setTimeout
,在该地方检查属性是否未定义(如果已定义),我在那里停下来或再次调用它。
searchTag = 'tagtosearch'
function foo (node, timeout)
{
var valid = function () {} // check if attribute is undefined or not.
if (valid) {
// do my stuff here.
} else {
setTimeout(foo, timeout, node, timeout);
}
}
$(document).on ('DOMNodeInserted', searchTag,{}, function(event){
setTimeout(foo, 100, this, 100);
});
还有其他替代方法可以执行此操作,而不是在每个超时毫秒后调用foo
。
如果不是,这种方法更好吗?