我有一个代码:
add_action( 'wp_enqueue_scripts', 'include_js' );
function include_js(){
wp_enqueue_script( 'bootstrapjs', "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js");
wp_enqueue_script( 'jQueryui', "http://code.jquery.com/ui/1.11.4/jquery-ui.js");
wp_enqueue_script( 'stellar', get_template_directory_uri()."/js/jquery.stellar.min.js");
wp_register_script( 'owl-carousel', get_template_directory_uri() . '/owl/owl-carousel/owl.carousel.js', array( 'jquery' ) );
wp_enqueue_script( 'owl-carousel' );
wp_enqueue_script( 'scripts', get_template_directory_uri()."/js/script.js", array( 'owl-carousel', 'jquery' ), '1.0', true );
}
在文件script.js中我加载了一个来自' owl-carousel'的函数。我收到了这个错误:
Uncaught TypeError: $(...).owlCarousel is not a function
enter code here
这很奇怪,因为我在代码的最后一行(上面)添加了数组(' owl-carousel' jquery'),所以script.js应该在之后加载猫头鹰 - 旋转木马,但它没有。我通过按F12检查了html代码,并在owl-carousel之前加载了script.js。为什么?我的错误在哪里? 此致
答案 0 :(得分:2)
jQuery默认包含在WordPress中in no-conflict mode。在noConflict()
模式下,jQuery的全局$
快捷方式不可用,因此您需要使用以下内容使其可供您使用:
jQuery(document).ready(function($) {
// Inside of this function, $() will work as an alias for jQuery()
// and other libraries also using $ will not be accessible under this shortcut
});
Owl Carousel无法正常工作,因为它使用$
作为快捷方式,而$
尚未被指定为jQuery的快捷方式。
另一种选择是“排队”包含的jQuery,并“排队”你自己的版本。
答案 1 :(得分:0)
实际上,如果问题是$不能用作jQuery的快捷方式,那么你会收到一条错误,指出它并不知道$是什么。
此处的错误表示owlCarousel未加载或未初始化。
您应该在控制台中检查加载或运行owlCarousel脚本时是否显示错误(同时在网络选项卡中检查调用了哪个URL以及它是否是正确的路径)。