在DOM准备就绪后检查元素是否存在
我试图在DOM准备好之后检测元素是否可见。 这个元素是一个比页面加载速度慢的第三方小部件。
我的console.log for'dom ready'正在触发 - 就像它应该那样,但是我检查元素是否可见正在返回false,因为元素在dom准备好后加载。
在dom加载后有没有办法监听元素?
<script>
$(function(){
console.log('dom ready');
if($(element).is(':visible')){
console.log('element is visible. do stuff.');
}
});
</script>
你可以从iframe中获取id,或者从正在加载的文档中获取id,并执行如下所示的操作。
$('#external').load(function(){
//lets do something when is loaded
if($(element).is(':visible')){
console.log('element is visible. do stuff.');
}
});
这将触发该脚本,iframe完成加载
尝试阅读文档,也许第三方小部件的API允许您在创建事件时附加监听器。 这将是一个理想的解决方案。
如果不可能,请尝试使用setTimeout
函数:
$(function(){
console.log('dom ready');
setTimeout(function() {
if($(element).is(':visible')){
console.log('element is visible. do stuff.');
}
}, 10);
});
如果10毫秒不够用,除非它工作,否则可能会增加此间隔,尽管我不建议使用此方法。
链接地址: http://www.djcxy.com/p/95235.html上一篇: Check to see if element exists after DOM is ready
下一篇: Angularjs directive controller : wait for DOM to be ready