如何从动态加载到我的div中的外部html文件运行JavaScript函数?
我使用以下方法将外部html页面插入到我的div中:如何从动态加载到我的div中的外部html文件运行JavaScript函数?,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我使用以下方法将外部html页面插入到我的div中: $.ajax({ url: "myHTML.html", method: 'GET', success: function (data) { $("#outputDiv").html(data); }, Error: function (err) { alert("ERROR:
$.ajax({
url: "myHTML.html",
method: 'GET',
success: function (data) {
$("#outputDiv").html(data);
},
Error: function (err) {
alert("ERROR: " + err);
}
});
这很好,
问题是我想运行一些位于“myHTML.html”文件中的JavaScript函数,
有没有办法做到这一点
谢谢(在加载内容的页面中保存脚本通常会容易得多。如果有一组文件都使用相同的ajx进行加载,并且都调用相同的函数,则尤其如此。这样可以减少使用代码修订更改多个文件的需要
$.ajax({
url: "myHTML.html",
method: 'GET',
success: function (data) {
$("#outputDiv").html(data);
/* new html exits so can run code here that affects it*/
newHtmlAdded();
},
error: function (err) {/* note typo on capital "E" fixed*/
alert("ERROR: " + err);
}
});
function newHtmlAdded(){
fixmFormStyle();
addMyValidation();
doSomethingElse();
}
否则,重要的是要意识到,ready
事件已经在加载到的页面中发生。这意味着,ready
处理程序中包装的任何代码都将立即触发。如果代码在远程文件中的html之前,它将在DOM中存在相应的html元素之前触发……并且不会执行任何操作
放置在远程文件中html之后的代码将起作用,因为它引用的html将已经处理过请更具体地说明脚本的来源在另一个文件中以及脚本标记在其他文件中的位置这可能会帮助您:还可以尝试
$.getScript()
它通过ajax获取并执行js文件。外部HTML将包含一个简单的标签,其中应包含一个名为“UpdateData”的脚本,该脚本接收一些字符串并将其动态插入标签中(我必须使用外部HTML文件,否则这将是小菜一碟)谢谢大家,但这不是我想要的。我将有大约3或4个外部html文件,需要加载到不同的div中…每个文件都包含一个同名函数(“更新”)。我希望能够根据html调用更新函数-假设我将html#1加载到div#1中,也将html#2加载到div#2中。我需要能够仅为html#1调用我的更新函数(这些html中的参数和内部函数可能不同,也可能不同)我希望我的问题现在更清楚了,这在ajax的成功中很容易做到……使用您正在加载的元素的上下文,并且在运行代码`$('#div1').load(url,function(){update(this)})时只查看该上下文中的html