很抱歉问了一个简单的问题。
我正在学习插件。我有一些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?有什么办法解释为什么它行不通吗?我正在努力学习。
最合适的回答,由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();
});