问题描述
|
这可能是一个非常简单且新手的问题,而且我甚至不确定异步调用是否应归咎于此。但不管怎么说...
我正在使用jQuery及其函数在.php文件中添加外部脚本。
首先,让我们看一下我的外部js。 (test.js):
function testFunc () {
alert(\'It works!\');
}
然后,我的.php文件带有以下脚本:
<script>
$.getScript(\'supervisor/cache/test.js\');
$(document).ready(function() {
testFunc();
});
</script>
使用此方法,不会调用testFunc();
。我尝试在调用之前插入return
,将其放置在ready
函数的外部,将ѭ5putting放置在ready
函数的内部。好吧,我不知道还能尝试什么。
另外,如果我在按钮中使用onClick
调用相同的功能,它将起作用。
这就是为什么我认为问题可能出在jQuery的异步调用上,即在真正添加脚本之前执行我的函数。但是谁知道呢?有人遇到过同样的问题吗?
解决方法
一旦AJAX脚本执行完毕,您应该调用该函数,这可能比文档准备事件晚得多:
$.getScript(\'supervisor/cache/test.js\',function() {
testFunc();
});
,由于您正在异步获取脚本,因此在加载test.js之前,文档可能已准备就绪。改为这样做:
$.getScript(\'supervisor/cache/test.js\',function(){
testFunc();
});