javascript - $(document).ready 之外的脚本

标签 javascript jquery document-ready

我为客户构建了一个站点,当用户单击导航链接时,链接页面的内容会动态加载并使用 JQuery 转换,而不是加载新页面。

我遇到的问题是,因为它没有加载新页面,所以 $(document).ready 不会再次触发,并且各个页面上的任何 JS 都被破坏了。例如,如果您访问 http://www.woodlandexotica.com/species.php该页面工作正常,但如果您尝试从 http://www.woodlandexotica.com/index_dev.php 导航到该页面, JS 将无法工作。

我不是 JS 方面的专家,我非常感谢所有帮助!

最佳答案

问题在于,当您调用“.load()”时,您正在使用 URL 字符串和选择器后缀从加载的内容中提取。当您以这种方式使用“.load()”时,jQuery 会删除所有脚本并且不会运行它们。除了实现您自己的“.load( )”,或者(最好)让您加载的其他页面不是是完整的 HTML 页面。如果您在 URL 字符串上使用不带选择器后缀的“.load()”,则 jQuery 运行脚本。

参见 jQuery bug 6307更多。该错误不会被修复,但希望文档会得到改进。

关于javascript - $(document).ready 之外的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6099778/

相关文章:

javascript - for循环中的值错误

javascript - 在 AngularJS 中,如何检测用户何时离开模板/页面?

javascript - 使用 apply 方法调用 jQuery document.ready 处理程序?

javascript - Jquery 添加 CSS 值不起作用

javascript - 使用 Javascript if else 在导航栏打开时触发 css 转换

javascript - 如何更新Backbone JS模型属性?

php - 如何在没有js代码的情况下显示json结果数组

javascript - 如何通过javascript检测文档加载已经开始?

javascript - 错误 var 未定义 - 但在使用之前已定义 -

javascript - 图像上的响应式文本区域( Bootstrap )