在WordPress中使用美元符号与jQuery

dra*_*035 2 jquery

对于在页面完全加载(而不仅仅是DOM)后执行的代码,我使用此函数:

jQuery(window).bind("load", function() {
});
Run Code Online (Sandbox Code Playgroud)

但我不能使用dollar里面的标志,只能使用"jQuery".有没有办法使用这个标志?

T.J*_*der 7

是.在你的情况,你确实想使用windowload情况下,你可以简单地在你的事件处理程序使用一个局部变量:

jQuery(window).bind("load", function() {
    var $ = jQuery;

    // Use $ here...
});
Run Code Online (Sandbox Code Playgroud)

或者您可以使用内联调用函数:

(function($) {
    // Use $ here...
    $(window).bind("load", function() {
         // Page is fully loaded now
    });
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

...但是如果你的所有代码都在load处理程序中,我可能会使用变量.


它不适用于您的场景,因为您已经明确表示您要等待页面完全加载(因此load事件是正确的),但是对于其他可能在以后找到它而只想在DOM中执行此操作的人准备好了,还有另外两个选择:

  1. 而不是使用window's load事件,使用jQuery的ready事件; 回调接收jQuery对第一个参数的引用:

    jQuery(function($) {
        // Use $ here...
    });
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果您控制script标记的位置,请将script标记放在页面的末尾,然后您不需要load ready仅使用内联调用的函数表达式:

    (function($) {
        // Use $ here...
    })(jQuery);
    
    Run Code Online (Sandbox Code Playgroud)

同样,那些不适用于你,但也许适用于其他人后来发现这一点.

  • @RohitArora没有,因为wordpress删除`$`引用,使用`jQuery.noConflict();`让你使用其他库而没有太多的前端 (2认同)