javascript - 有时加载 JavaScript

标签 javascript jquery onload

我想在给定页面上有条件地加载一组 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/

相关文章:

javascript - ng-bind 但存储内部值

javascript - 到达 anchor 标记时如何运行javascript函数?

javascript - 弹出窗口的位置( View 中心!,而不是页面中心?)

jQuery - 在继续之前等待图像加载

javascript - 有人能解释一下这个简单函数中字母 'm' 究竟代表什么吗?

javascript - 如何在 Angular Protractor 中使用类单击日历图标

javascript - 当我通过 jQuery 删除 attr 时,我无法再次添加该 attr

jQuery: anchor 加载页面然后滚动到 div

javascript - 如何在页面加载期间打开 css 弹出窗口,然后在页面加载完成时关闭它

javascript - export default myVar 和 export default myFunc() 的区别