好吧,这让我很生气。我正在使用 jquery 加载外部页面:
var response = $.ajax({
url: "example.php",
dataType: "html",
async: false,
});
$("#content2").empty().prepend(response.responseText);
这部分工作完美。
现在我知道,如果我想与新内容进行交互,我必须将任何新元素绑定(bind)到一个操作才能使其正常工作...
$(".example").live("click",function(event){
//do something
}):
但是,问题是我正在加载的内容包含几个包含大量表单验证的 .js 文件。
有没有办法将所有新内容绑定(bind)到这些外部 .js 文件?
最佳答案
通过 AJAX 包含 JavaScript 需要对这些脚本进行eval
。参见 $.getScript
以获得更好的方法。
就您的示例 AJAX 请求而言,请注意发出同步请求,因为它们会在远程请求期间卡住您的浏览器。相反,使用异步请求并通过回调处理它们的响应
$.ajax({
url: "example.php",
dataType: "html",
success: function(response) {
$("#content2").html(response.responseText);
}
});
关于javascript - 使用 jquery/ajax 加载外部页面 - 也加载外部页面的 jquery 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1956565/