【问题标题】:jQuery: Adding javascript to page via Ajax but does not executejQuery:通过 Ajax 将 javascript 添加到页面但不执行
【发布时间】:2011-08-09 01:11:03
【问题描述】:
我使用 jQuery 发出 ajax 请求并将代码添加到我的页面。我添加到页面的代码不仅包含 HTML,还包含 javascript。
显然没有调用 javascript 代码!如何强制执行我新添加的 javascript 源代码?
【问题讨论】:
标签:
javascript
jquery
ajax
【解决方案1】:
您可能正在使用 jQuery(element).load(url) 方法。
jQuery 使用浏览器的 .innerHTML 属性来解析检索到的文档并将其插入到当前文档中。在此过程中,浏览器通常会从文档中过滤元素,例如 、 或 元素。因此,通过 .load() 检索到的元素可能与浏览器直接检索到的文档并不完全相同。
尝试确定您从服务器接收的内容的范围,例如:
// will load only the content inside the element with id="container"
jQuery(element).load("yoururl #container");
您可能应该尝试使用完整的回调从脚本执行 JS 代码,例如:
jQuery(element).load("yoururl #container", function(response, status, xhr) {
do_stuff_after_load();
}