首页 文章

如何在WordPress中使用jQuery时生成`$(document).on`可执行文件?

提问于
浏览
0

我正在尝试将GDPR plugin v2.0.6添加到一个旧的WordPress网站上,该网站已由不同的人维护了大约7年 . 那些人不在我现在工作的公司里 .

安装此插件时,我发现错误说

未捕获的TypeError:e(文档).on不是函数

在我打开网站的 gdpr-public.js 文件中 .

将代码从 $(document).on 更改为 jQuery(document).on 后,此错误消失 . 但是修改插件中的代码并不是我们鼓励做的事情 .

WordPress的版本是4.7 . PHP的版本是 5.4

根据这个article,似乎WordPress最初只支持 jQuery(document).on . 人们必须添加额外的代码才能使 $(document).on 正常工作 .

我也尝试过安装GDPR插件到一个全新的WordPress 4.7 . 但它没有显示错误:

未捕获的TypeError:e(文档).on不是函数

什么可能导致 $(document).on 无法执行?

------------------------------编辑------------------- -------------

WordPress网站有一个自定义主题 . 它似乎没有在主题中使用默认的jQuery . 因为我在 wp-content/themes/customTheme/functions.php 下找到了以下代码

// Load jQuery
if ( !is_admin() ) {
   wp_deregister_script('jquery');
   wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"), false);
   wp_enqueue_script('jquery');
}

当我删除此代码时,访问网站时会出现不同的错误:

enter image description here

看起来很难处理这个遗留网站 .

1 回答

  • -2

    如果 console.log(typeof $)undefined ,您可以尝试将其指向jQuery,如下所示:

    if (!window.$ && window.jQuery) {
        window.$ = window.jQuery;
    }
    

    或更好

    jQuery(document).ready(function( $ ) {
        window.$ = $;
    });
    

    确保jQuery已经加载 .

相关问题