WordPress 排队 noConflict() 错误 $ 不是函数?
WordPress enqueue noConflict() error $ not a function?
作为 WP 开发人员已经 8 年了,这个问题从未消失,它让我发疯。 $ is not a function
总是出现,或者jQuery is not a function
,或者foundation is not a function
...谁能帮我一劳永逸地防患于未然?
我的enqueue.php:
// initialize packages ...
function source_enqueue() {
// init $wp_styles variable
// adds conditional wrapper around ie stylesheet
global $wp_styles;
if (!is_admin()) {
// jquery, bower, foundation, app js, style, app css
// init jquery ...
wp_enqueue_script( 'jquery' );
// init foundation
wp_enqueue_script( 'foundation', 'https://cdn.jsdelivr.net/g/foundation@5.5.1(js/foundation.min.js+js/vendor/fastclick.js+js/vendor/jquery.cookie.js+js/vendor/jquery.js+js/vendor/modernizr.js+js/vendor/placeholder.js),camanjs@4.1.2', array(), '2.1.3', true );
// init normalize
wp_enqueue_style( 'foundation', 'https://cdn.jsdelivr.net/g/foundation@5.5.1(css/normalize.css),fontawesome@4.4.0,animatecss@3.4.0', array(), '', 'all' );
// init app.min.js
wp_enqueue_script( 'app', get_template_directory_uri() . '/assets/dist/app.min.js', array( 'jquery' ), '', true );
// init app.min.css
wp_enqueue_style( 'app', get_template_directory_uri() . '/assets/dist/app.min.css', array(), '', 'all' );
// init style.css
wp_enqueue_style( 'style', get_template_directory_uri() . '/style.css', array(), '', 'all' );
// init comment reply ...
if ( is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) {
wp_enqueue_script( 'comment-reply' );
}
}
}
// init source_enqueue() ...
// - - - - - - - - - - - - - - - - -
add_action( 'init', 'source_enqueue' , 999 );
我的app.js:
$.noConflict();
$(document).foundation();
我试过用不同的函数包装它,但无济于事:
jQuery(document).ready(function(){
jQuery(document).foundation();
});
或:
$(document).ready(function(){
$(document).foundation();
});
没有任何效果。错误仍然存在:$ is not a function
。
有人帮我一劳永逸地解决这个问题,然后再把我漂亮的桌面扔进伐木机里吗?
"include" 标准 jquery url 在页面顶部...
为什么排队'jquery'。 jQuery 始终由 Wordpress 排队。
删除wp_enqueue_script( 'jquery' );
并且在你的 js 文件中
jQuery(document).ready(function($){
//then $ works
// your code
});
只需添加 jQuery.js 或 jQuery-min 库并试试这个:
$k = jQuery.noConflict();
$k(document).ready(function(){
//then $ works
// your code
});
经过多年的挖掘、测试和试验,我找到了答案。我决定给这个最后一枪,它奏效了。没有错误,控制台注册基础。对于所有挣扎过的人来说,这是可以让您的入队基础脚本正常工作的代码。我什至会提供CDN。
需要 2 天才能接受我自己的答案。
enqueue.php / functions.php,但是你需要你的函数:
// enqueue.php or functions.php
wp_enqueue_script( 'foundation', 'https://cdn.jsdelivr.net/g/foundation@5.5.3(js/foundation.min.js+js/vendor/jquery.js+js/vendor/modernizr.js),scrollreveal.js@0.1.2', array(), '', true );
app.js:
// app.js
$ = jQuery.noConflict( true );
(function( $ ) {
$(document).foundation();
// other code here ...
})(jQuery);
作为 WP 开发人员已经 8 年了,这个问题从未消失,它让我发疯。 $ is not a function
总是出现,或者jQuery is not a function
,或者foundation is not a function
...谁能帮我一劳永逸地防患于未然?
我的enqueue.php:
// initialize packages ...
function source_enqueue() {
// init $wp_styles variable
// adds conditional wrapper around ie stylesheet
global $wp_styles;
if (!is_admin()) {
// jquery, bower, foundation, app js, style, app css
// init jquery ...
wp_enqueue_script( 'jquery' );
// init foundation
wp_enqueue_script( 'foundation', 'https://cdn.jsdelivr.net/g/foundation@5.5.1(js/foundation.min.js+js/vendor/fastclick.js+js/vendor/jquery.cookie.js+js/vendor/jquery.js+js/vendor/modernizr.js+js/vendor/placeholder.js),camanjs@4.1.2', array(), '2.1.3', true );
// init normalize
wp_enqueue_style( 'foundation', 'https://cdn.jsdelivr.net/g/foundation@5.5.1(css/normalize.css),fontawesome@4.4.0,animatecss@3.4.0', array(), '', 'all' );
// init app.min.js
wp_enqueue_script( 'app', get_template_directory_uri() . '/assets/dist/app.min.js', array( 'jquery' ), '', true );
// init app.min.css
wp_enqueue_style( 'app', get_template_directory_uri() . '/assets/dist/app.min.css', array(), '', 'all' );
// init style.css
wp_enqueue_style( 'style', get_template_directory_uri() . '/style.css', array(), '', 'all' );
// init comment reply ...
if ( is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) {
wp_enqueue_script( 'comment-reply' );
}
}
}
// init source_enqueue() ...
// - - - - - - - - - - - - - - - - -
add_action( 'init', 'source_enqueue' , 999 );
我的app.js:
$.noConflict();
$(document).foundation();
我试过用不同的函数包装它,但无济于事:
jQuery(document).ready(function(){
jQuery(document).foundation();
});
或:
$(document).ready(function(){
$(document).foundation();
});
没有任何效果。错误仍然存在:$ is not a function
。
有人帮我一劳永逸地解决这个问题,然后再把我漂亮的桌面扔进伐木机里吗?
"include" 标准 jquery url 在页面顶部...
为什么排队'jquery'。 jQuery 始终由 Wordpress 排队。
删除wp_enqueue_script( 'jquery' );
并且在你的 js 文件中
jQuery(document).ready(function($){
//then $ works
// your code
});
只需添加 jQuery.js 或 jQuery-min 库并试试这个:
$k = jQuery.noConflict();
$k(document).ready(function(){
//then $ works
// your code
});
经过多年的挖掘、测试和试验,我找到了答案。我决定给这个最后一枪,它奏效了。没有错误,控制台注册基础。对于所有挣扎过的人来说,这是可以让您的入队基础脚本正常工作的代码。我什至会提供CDN。
需要 2 天才能接受我自己的答案。
enqueue.php / functions.php,但是你需要你的函数:
// enqueue.php or functions.php
wp_enqueue_script( 'foundation', 'https://cdn.jsdelivr.net/g/foundation@5.5.3(js/foundation.min.js+js/vendor/jquery.js+js/vendor/modernizr.js),scrollreveal.js@0.1.2', array(), '', true );
app.js:
// app.js
$ = jQuery.noConflict( true );
(function( $ ) {
$(document).foundation();
// other code here ...
})(jQuery);