所以我有一个使用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>
标记,然后解析加载的内容并加载引用的文件。