【问题标题】:Using '$' instead of 'jQuery' in WordPress在 WordPress 中使用“$”而不是“jQuery”
【发布时间】:2016-09-27 08:49:17
【问题描述】:

WordPress 附带的 jQuery 位于 compatibility mode。为避免与其他库发生冲突,我们不能将 $ 快捷方式用于 jQuery。要使用我们使用的$ 符号:

jQuery(document).ready(function($) {
    $('#myid').css({'background': 'black', 'color': 'white'});
});

这行得通。但我的问题是如何对窗口加载做同样的事情。自最近几个项目以来,我一直面临这个问题。所以,最好把这个概念弄清楚。

jQuery(window).load(function($) {
    $('#myid').css({'background': 'black', 'color': 'white'});
});

这样我收到一条错误消息:$ is not a function。因此,我无法在 window.load 代码块中使用 $。谁能帮助我如何使用window.load 中的$ 快捷方式?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    它叫做no conflict mode,而不是兼容模式。要使其工作,您必须使用closureIIFE 然后,只有ready states 将jQuery 对象作为参数传递,load 其他人不会这样做。

    (function($) {
        $(window).load(function() {
            $('#myid').css({'background': 'black', 'color': 'white'});
        });
    })(jQuery)
    

    如果您的 load 已经在 ready state 中,您也可以直接使用它(例如,您通常是 should not put a window load inside a ready state):

    jQuery(function($) {
        $(window).load(function() {
            $('#myid').css({'background': 'black', 'color': 'white'});
        });
    });
    

    请注意,此类任务的 .load() 已被弃用!你应该改用.on()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 2012-03-23
      • 2018-05-21
      • 2021-07-14
      • 1970-01-01
      • 2018-11-26
      • 1970-01-01
      相关资源
      最近更新 更多