有时加载JavaScript
我希望在给定页面上有条件地加载一组javascript函数(包括jQuery) 目前的情况是,我们的网站有一大堆发生在有时加载JavaScript,javascript,jquery,onload,Javascript,Jquery,Onload,我希望在给定页面上有条件地加载一组javascript函数(包括jQuery) 目前的情况是,我们的网站有一大堆发生在$(document.ready(主要是花哨的菜单设置和一些CSS类操作)上的东西,但是一两个页面需要更多的设置。这是足够的代码(也足够具体),我不想把它扔进主文件中,而只是把它加载到那些特定的页面上 似乎我无法通过将新文件specific.js加载到包含 (function () { $(something).click(function () { Stuff(happe
$(document.ready
(主要是花哨的菜单设置和一些CSS类操作)上的东西,但是一两个页面需要更多的设置。这是足够的代码(也足够具体),我不想把它扔进主文件中,而只是把它加载到那些特定的页面上
似乎我无法通过将新文件specific.js
加载到包含
(function () {
$(something).click(function () { Stuff(happens); });
something(Else);
...
} ());
在上面的例子中,something(Else)
可以正常工作,但是。单击
和。绑定
似乎什么都不做。我最后做的是
function specificStuff () {
$(something).click(function () { Stuff(happens); });
something(Else);
...
};
并添加if(specifictuff)specifictuff()代码>到主js文件。这是可行的,但似乎应该有更好的方法来实现这一点(理想的方法是保持specific.js
中的所有更改,而不触及常规设置)
是否有一种规范的方法可以有条件地加载js代码以在document.ready
中运行?您可以在这些页面的html中加载特定于页面的Javascript,每个脚本都有自己的document.ready函数。您可以调用$(document.ready()在网页/脚本文件中多次执行代码>操作。只需将jquery绑定包装在specific.js
文件中即可:
$(文档).ready(函数(){
$(某物)。单击(函数(){Stuff(happens);});
某物(别的);})代码>将函数传递给document时,请尝试删除()。就绪:
(function () {
$(something).click(function () { Stuff(happens); });
something(Else);
...
} **()**);
使用(),它将立即执行,而不是等待文档准备就绪。您可以根据需要多次调用jquery document ready函数。我认为你的问题在于你如何设置你的功能。如果试图调用ready函数,则应如下所示:
$(function () {
$(something).click(function () { Stuff(happens); });
something(Else);
...
});
另外,如果something
元素是由main.js文件创建的,则应将其包含在特定的.js文件之前。Wow。我对这件事想得太多了。