Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有时加载JavaScript_Javascript_Jquery_Onload - Fatal编程技术网

有时加载JavaScript

有时加载JavaScript,javascript,jquery,onload,Javascript,Jquery,Onload,我希望在给定页面上有条件地加载一组javascript函数(包括jQuery) 目前的情况是,我们的网站有一大堆发生在$(document.ready(主要是花哨的菜单设置和一些CSS类操作)上的东西,但是一两个页面需要更多的设置。这是足够的代码(也足够具体),我不想把它扔进主文件中,而只是把它加载到那些特定的页面上 似乎我无法通过将新文件specific.js加载到包含 (function () { $(something).click(function () { Stuff(happe

我希望在给定页面上有条件地加载一组javascript函数(包括jQuery)

目前的情况是,我们的网站有一大堆发生在
$(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。我对这件事想得太多了。