在插件中混合使用常规的Java脚本和jQuery

时间:2011-11-14 作者:Laxmidi

很抱歉问了一个简单的问题。

我正在学习插件。我有一些javascript,我想把它们放在插件的jQuery文件中。

(我已经将jQuery和脚本排入队列,并且工作正常)。

如果我只是在jQuery前面加上javasvcript,可以吗?

因此,文件如下所示:

//regular javasript
 function do_something() {
  //do Something
}

jQuery.noConflict();

jQuery(document).ready(function() {
  //my jQuery stuff
}
有没有一种正确的方法可以做到这一点,或者这无关紧要?如果我把我的纯javascript放在第一位(如上所述),它就会工作。

如果将javascript与jQuery一起放入,则将其包装在jQuery(文档)中。ready(function(){}),那么它就没有了。

是否可以在jQuery ready函数中添加常规javascript?有什么办法解释为什么它行不通吗?我正在努力学习。

1 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

jQuery是常规javascript。它是一个js库,只意味着它是对象中js函数的集合。因此,根据你的术语,是的,它可以是混合的。

尽管如此jQuery.noConflict(); 是多余的,因为wordpress提供的库无论如何都是以noConflict模式加载的。

如果你的jQuery(document).ready(function() {...} 无法按预期工作,很可能代码本身存在问题。

您可以将其编辑到您的问题中,并可能在此处获得帮助,但请注意您在stackoverflow 同样,在那里询问不特定于wordpress的js/jQuery问题可能是一个更好的主意。

综上所述:虽然可以在js中声明嵌套函数,但最好在本地声明它们,从而将它们排除在全局命名空间之外,如下所示:

jQuery(document).ready(function() {
    var yourFunc = function() {
        // do something
    };
    yourFunc();
});

结束