可能的重复项:
jQuery 事件,用于在div 可见时触发操作
当 ajax 加载的元素变得可见时,我如何运行我的一些代码("显示"从"无"切换到"块")?好吧,我需要一些事件,例如
$('#element').live('show', function(){
// CODE
});
或监视删除/向元素添加某些类的事件
通过使用jquery-emerge插件解决了这个问题
https://github.com/morr/jquery.appear
没有内置的jQuery可以让你做到这一点。你可以看看实时查询插件。例如:
$('#element').livequery(function() {
// CODE
});
当一个带有 id="element" 的元素被添加到 DOM 中时,应该执行回调。
每 1 秒运行一次检查。如果#element
存在且可见,则清除(停止)间隔并执行代码。
var checkVisible = setInterval(function(){
// if element doesn't exist or isn't visible then end
if(!$('#element').length || !$('#element').is(':visible'))
return;
// if element does exist and is visible then stop the interval and run code
clearInterval(checkVisible);
// place your code here to run when the element becomes visible
},1000);
不可避免地,你有一些jQuery事件回调来显示元素;在这些事件回调中,你应该放置"当元素可见时"运行代码。
你试过jQuery.load()
吗?
http://api.jquery.com/load-event/
它至少应该适用于图像,脚本标签等......而不是没有URL的元素。
否则,实时查询应该会有所帮助:
jquery 实时事件,用于添加 DOM 元素