[英]jQuery document.ready() not firing for dynamically loaded content
[英]jQuery - document.ready not firing when content loaded with AJAX
我有一个简单的自定义标签模块,它使用AJAX请求加载标签(通过$(elem).load()
)。 在每个加载了AJAX的页面上,我都有一些JavaScript。 第一次页面加载(通过直接输入URL,而不是AJAX),javascript完全启动。 当我通过AJAX选项卡离开页面时,页面中的javascripts不再加载。
有什么方法可以强迫他们执行吗?
(未激活的javascript放在$(document).ready()
函数中,如果有帮助的话)
只有在初始dom准备就绪时才会触发domeready事件(如名称和jquery-api建议)。
如果你想使用jquerys load()并在已经完成加载的情况下触发一个函数,你将不得不使用一个回调函数( 根据api )。
如果你想在domready和load-events上做同样的事情,最好的方法是为它定义一个新函数:
function dostuff(){
// do some stuff here
}
并在以下两种情况下触发此功能:
$(function(){ // domready | shortcut for "$(document).ready()"
dostuff();
})
$('#something').load('script.php', function() { // callback on load()
dostuff();
});
将$(document).ready()
代码放入新方法中。 让我们称它为methodA
。 现在从$(document).ready()
调用此方法methodA
其次,在ajax请求成功后调用相同的方法。 那应该可以解决你的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.