【问题标题】:Why does my jQuery .ready() function not work?为什么我的 jQuery .ready() 函数不起作用?
【发布时间】:2017-10-25 23:33:47
【问题描述】:

我最近更新了我的 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' 调试行将触发,但第二个调试行不会触发。 不知道怎么解决,不胜感激。

【问题讨论】:

  • 我投票结束这个问题,因为所有相关代码都在一个已经无效的链接中,因为问题已经解决(不正确,我可能会添加)跨度>

标签: javascript jquery wordpress


【解决方案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

这可能是导致问题的原因。

【讨论】:

  • 为什么不教如何使用包含的正确的 WP 核心 jQuery,而不是指示注销核心默认库?
  • 我同意了,我只是想了一下。我的帖子只是为了回答这个问题来解决这个问题,但我同意你的看法。我刚刚添加了它。
猜你喜欢
  • 2011-12-15
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-21
  • 2021-12-18
  • 2011-06-23
  • 1970-01-01
相关资源
最近更新 更多