为什么我的jQuery .ready()函数不起作用?

时间:2017-10-25 23:33:48

标签: javascript jquery wordpress

我最近更新了我的Wordpress博客,似乎打破了我在网页上的所有jQuery。

我包含一个core.js文件,其中包含一个修改页面行为的.ready方法,但是由于更新它已停止工作。我相信它是因为Wordpress注入了自己的jQuery库版本,这与我的脚本有些冲突。

Webpage

Core.js file
文件片段

    console.log('loaded core.js');
    jQuery(document).ready(function($) {
    console.log('inside ready function');
    // other stuff goes on here
    }

'loaded core.js'调试行将触发,但第二个调试行不会触发。 我不确定如何解决,非常感谢建议。

1 个答案:

答案 0 :(得分:1)

您需要取消注册默认的jquery库。 有关详细信息,请查看Function Reference/wp deregister script

wp_deregister_script( 'jquery' );

如果要取消注册jquery,可以使用以下方法删除它并添加其他版本:

function my_jquery_lib() {
   wp_deregister_script('jquery');
   $lib_url = "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"; // the library URL.
   wp_register_script('new-jquery', $lib_url, false, null);
   wp_enqueue_script('new-jquery');
}
add_action("wp_enqueue_scripts", "my_jquery_lib");

您的网站在控制台中出错。

TypeError: f.browser is undefined

这可能导致问题。