我有 2 个.js
文件,第一个是plugins.js
和,第二个是ui.js
,并且两者都在检查器的“调试”中可见,因此都包含在内。
我有一个 jquery 函数,plugins.js
因为我需要调用 in ui.js
,所以我plugins.js
先入队,然后紧接着我入队ui.js
。
但是,网络浏览器中的控制台告诉我该函数未定义,并且它不起作用。
如果我将函数剪切并粘贴plugins.js
到ui.js
. 当我在 JSfiddle 中尝试它时它也有效。
functions.php
function add_scripts() {
wp_enqueue_script( 'plugins', get_template_directory_uri() . '/javascript/plugins.js', array( 'jquery', 'jquery-ui-core' ) , '1.0.0', true );
wp_enqueue_script( 'ui' , get_template_directory_uri() . '/javascript/ui.js' , array(), '1.0.0', true );
}
add_action('wp_enqueue_scripts', 'add_scripts');
plugins.js
:
jQuery(document).ready(function($) {
function PNGPreloader(e,t,i,r,n,a){...}
});
ui.js
:
jQuery(document).ready(function($) {
$(...).each(function(){
mobileIcons[ID] = new PNGPreloader($object,frames,size[0],size[1],20,false);
});
如果我将函数从plugins.js
in 中放入,它会起作用ui.js
:
jQuery(document).ready(function($) {
function PNGPreloader(e,t,i,r,n,a){...}
$(...).each(function(){
... = new PNGPreloader(...);
});