我想在给定页面上有条件地加载一组 javascript 函数(涉及 jQuery)。
情况是我们的网站有一堆发生在 $(document).ready
上的东西(主要是花哨的菜单设置和一些 CSS 类操作),但是一两个页面需要更多设置。这是足够多的代码(并且足够具体),我不想将它扔到主文件中,而是将它加载到那些特定的页面上。
似乎我不能通过将新文件 specific.js
加载到那些包含
(function () {
$(something).click(function () { Stuff(happens); });
something(Else);
...
} ());
在上面的示例中,something(Else);
工作正常,但是 .click
和 .bind
似乎什么也没做.我最终做的是
function specificStuff () {
$(something).click(function () { Stuff(happens); });
something(Else);
...
};
并将 if(specificStuff) specificStuff();
添加到主 js 文件。它有效,但似乎应该有更好的方法来实现这一点(理想情况下是将所有更改保留在 specific.js
中并且不触及常规设置)。
是否有一种规范的方式来有条件地加载 js 代码以在 document.ready
中运行?
最佳答案
您可以在网页/脚本文件中多次调用$(document).ready();
。只需将您的 jquery 绑定(bind)包装在您的 specific.js
文件中:
$(文档).ready(函数(){
$(something).click(function () { Stuff(happens); });
某事(其他);});
关于javascript - 有时加载 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4454322/