javascript推送jquery函数

javascript推送jquery函数,javascript,jquery,Javascript,Jquery,我有一些内联jquery,我想在jquery加载后在页脚中加载它 我不想在标题中加载jquery。我不想将内联jquery更改为js文件,因为其中还包含PHP 但我相信javascript可以将其加载到页脚中 在标题中,您可以这样做 var code = []; 现在有了一个空数组 现在我想将内联jQuery代码推送到数组中 $(function myFunction(){ // jQuery methods... }); 所以最终你可以做这样的事情: code.push(myFun

我有一些内联jquery,我想在jquery加载后在页脚中加载它

我不想在标题中加载jquery。我不想将内联jquery更改为js文件,因为其中还包含PHP

但我相信javascript可以将其加载到页脚中

在标题中,您可以这样做

var code = [];
现在有了一个空数组

现在我想将内联jQuery代码推送到数组中

$(function myFunction(){
    // jQuery methods...
});
所以最终你可以做这样的事情:

code.push(myFunction);
var code = [];

function _dom_ready() {
    $(function() {
        // do something here...
    })
}

code.push(_dom_ready);
function click_something() {
    $('div.something').click(function() {
        // event handler here
    });
}

code.push(click_something);

function click_handler_something2() {
    // event handler here
}

function click_something2() {
    $('div.something2').click(click_handler_something2);
}

code.push(click_something2);
这样我就可以推送所有不同的jQuery函数,当我将推送代码放入页脚时,它就会被加载

但这对我不起作用。控制台日志显示“myFunction”未定义

这里有一个函数表达式,作为参数传递给
$

因此:

  • 它将在DOM就绪事件上被调用(因为
    $(a\u函数)
    $(document)的缩写。on('Ready',a\u函数)
  • 它在该函数的作用域内创建一个名为
    myFunction
    的变量
code.push(myFunction);
可以工作,但只能在
myFunction
内部工作,您可能不希望它出现在那里,因为每次调用它时它都会被反复推到数组上

您需要一个函数声明才能使函数出现在当前范围中


据我所知,你可以这样做:

code.push(myFunction);
var code = [];

function _dom_ready() {
    $(function() {
        // do something here...
    })
}

code.push(_dom_ready);
function click_something() {
    $('div.something').click(function() {
        // event handler here
    });
}

code.push(click_something);

function click_handler_something2() {
    // event handler here
}

function click_something2() {
    $('div.something2').click(click_handler_something2);
}

code.push(click_something2);
或者像这样:

code.push(myFunction);
var code = [];

function _dom_ready() {
    $(function() {
        // do something here...
    })
}

code.push(_dom_ready);
function click_something() {
    $('div.something').click(function() {
        // event handler here
    });
}

code.push(click_something);

function click_handler_something2() {
    // event handler here
}

function click_something2() {
    $('div.something2').click(click_handler_something2);
}

code.push(click_something2);
然后运行所有函数:

for(var f = 0; f < code.length; f++) {
    if(typeof code[f] == 'function') {
        code[f]();
    }
}
for(var f=0;f
您可以使用
函数myFunction(){//jQuery methods…}
然后
$(myFunction);
code.push(myFunction);
尝试定义类似
函数myFunction(){//code}的函数
请分享示例html和jsI仍然没有达到在数组中推送函数引用的目的???你是说在footer中调用
(var i=0,z=code.length;i
?!我也这样理解,但要知道@a.Wolff不知道那一个。谢谢。我会更正我的循环语句。