$(document).ready(function(){
function loadURL(url){
$('#ajax').load(url, function(){
history.pushState('', 'My Website', baseurl + url);
});
}
$(document).on('click', 'a[rel!=external]', function(event){
event.preventDefault();
loadURL($(this).attr('href'));
});
});
您好,再次stackoverflow!
我有一些通过AJAX加载的内容。现在,我想加载link.html
,其中包含以下代码:
<script>
loadURL('code.txt');
</script>
以便在加载后link.html
直接加载code.txt
。
可悲的是,调用已在内部创建的函数$(document).ready()
似乎无法正常工作,因为由于某些原因未定义该函数。所以我尝试了
<script>
$(document).ready(function(){
loadURL('code.txt');
});
</script>
但这似乎也不起作用。
有解决方案吗?
这是因为由于该函数loadURL
是在另一个函数中声明的,所以声明的函数对容器函数是私有的。
解决方案是将其声明为全局函数,就像您还要从其他上下文中调用该函数一样。它不会在dom ready回调中调用该函数时产生与dom ready状态相关的问题。
function loadURL(url){
$('#ajax').load(url, function(){
history.pushState('', 'My Website', baseurl + url);
});
}
$(document).ready(function(){
$(document).on('click', 'a[rel!=external]', function(event){
event.preventDefault();
loadURL($(this).attr('href'));
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句