jQueryAJAX和动态加载其他脚本


jQuery AJAX and dynamically loading other scripts

所以我有一个使用jQueryAJAX动态加载内容的系统。我有一些页面,它们可能只有该页面的脚本(在js/文件夹中)。

例如,如果我在索引页面上单击一篇文章(article.php),该文章将动态地出现在页面上,删除不必要的内容,并在页面上获得"js/article.js"。然而,问题是,如果我在访问了另一篇文章后点击另一篇,"js/article.js"脚本将不起作用。

有没有什么方法可以执行页面上已经执行的脚本,这样问题就很容易解决了。如果没有,你有什么想法我可以解决所描述的问题吗?

你试过了吗http://api.jquery.com/jQuery.getScript/?

我猜您需要将点击事件附加到新添加的内容中。

如果您使用.live().on()事件处理程序而不是像.click()这样的经典事件处理程序,jQuery可以自动为您执行此操作。

所有脚本和样式声明都将从加载的内容中删除(如果我记得很清楚的话,从jquery 1.4开始)

正如jeroen所说,你可以使用.live()或.on()如果你加载的内容包含特定的脚本和css,它们必须在你必须加载的单独文件中(正如Stefan所说)加载脚本的url可以通过命名约定知道,也可以将其作为不可见的隐藏在加载的内容中

<a href="..." class="yournamingconventionclassfordynamicscriptsurls"  style="display:none"></a> 

标记,然后解析加载的内容并加载引用的文件。