Javascript $(文档)。准备好在ajax页面中不工作了吗
我正在用ajax动态加载页面内容,我想用一个函数加载某些.js文件。js文件可以正常加载,但只有在通过ajax加载下一页之前Javascript $(文档)。准备好在ajax页面中不工作了吗,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在用ajax动态加载页面内容,我想用一个函数加载某些.js文件。js文件可以正常加载,但只有在通过ajax加载下一页之前 $(document).ready(function() { $(".element").click(function() { jQuery.getScript("http://example.com/js/file.js"); }); }); 例如:从主页到传记页面: 首先加载.js文件 第二:加载传记页面(通过ajax) 看
$(document).ready(function() {
$(".element").click(function() {
jQuery.getScript("http://example.com/js/file.js");
});
});
例如:从主页到传记页面:
首先加载.js文件
第二:加载传记页面(通过ajax)
看起来ajax页面总是处于状态文档就绪状态。因此,在通过ajax加载传记页面的内容之前,它会立即触发.js文件
$(document).ready(function() {
$(".element").click(function() {
jQuery.getScript("http://example.com/js/file.js");
});
});
我已经通过超时暂时解决了这个问题,因此.js文件将在5秒后加载,因此在页面传记加载之后
$(".element").click(function() {
setTimeout(function() {
jQuery.getScript("http://example.com/js/file.js");
}, 5000);
});
如何更改函数,使其在传记页面(或任何其他页面)加载后立即加载.js文件,而不是超时
编辑1:
我在这里添加了ajax调用:
AJAX允许您指定回调:一个在请求完成时调用的函数 将脚本/函数放入回调中,它将在秒页面完成加载后执行,有效地解决您的问题:
$.ajax({
url: "test.html"
}).done(function() {
//do things in here that should be done after the AJAX call e.g:
jQuery.getScript("http://example.com/js/file.js");
});
AJAX允许您指定回调:请求完成时要调用的函数 将脚本/函数放入回调中,它将在秒页面完成加载后执行,有效地解决您的问题:
$.ajax({
url: "test.html"
}).done(function() {
//do things in here that should be done after the AJAX call e.g:
jQuery.getScript("http://example.com/js/file.js");
});
正如您在第一行中所提到的,您正在动态加载抗争,因此您预定义的单击处理程序不会为以后添加的内容触发 因此,您需要使用事件委派 使用
jQuery.on()代码>
样本
jQuery(document).on('click',".element",function()
{
jQuery.getScript("http://example.com/js/file.js");
});
正如您在第一行中所提到的,您正在动态加载抗争,因此您预定义的单击处理程序不会为以后添加的内容触发
因此,您需要使用事件委派
使用jQuery.on()代码>
样本
jQuery(document).on('click',".element",function()
{
jQuery.getScript("http://example.com/js/file.js");
});
我不明白你的过程是什么。您正在调用getScript()
,然后从file.js
加载第二页吗?ajax调用在哪里?我无法理解您的过程是什么。您正在调用getScript()
,然后从file.js
加载第二页吗?ajax调用在哪里?抱歉,js文件不与示例一起执行抱歉,js文件不与示例一起执行谢谢示例。虽然我希望有一个更通用的解决方案。因为这在wordpress帖子中不是很好。假设我想在每次打开的帖子中加载一个js文件,那么这个例子就不适合了。但这是一个好的开始,谢谢你的例子,+1谢谢你的例子。虽然我希望有一个更通用的解决方案。因为这在wordpress帖子中不是很好。假设我想在每次打开的帖子中加载一个js文件,那么这个例子就不适合了。但这是一个好的开始,谢谢你的例子,+1