【问题标题】:jQuery: How can I use "$" instead of "jQuery"?jQuery:如何使用“$”而不是“jQuery”?
【发布时间】:2011-07-09 15:15:53
【问题描述】:

我的网站中有简单的 jQuery,但我不断收到此错误:

Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function

仅当我使用“$”而不是“jQuery”时才会出现错误。

// This works
jQuery(document).ready(function() {
    jQuery('#pass').keyup( ... );
});

// This doesn't
$(document).ready(function() {
    $('#pass').keyup( ... );
});

我需要做什么才能使用“$”吗?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

你可以包装你的代码:

(function($) {
    // here $ would be point to jQuery object
    $(document).ready(function() {
        $('#pass').keyup( ... );
    });
})(jQuery);

【讨论】:

  • 另外,jQuery(document).ready(function($) {... 允许您在 ready 函数中使用 $
  • 有了这个包装函数就超出了全局视野。如何在函数中使用 $?
【解决方案2】:

您可能在代码中的某处启用了 jQuery noConflict 模式,请参阅:http://api.jquery.com/jQuery.noConflict/

jQuery.noConflict(); // Stops $ from workng

【讨论】:

  • 这应该是公认的答案。非常感谢,丹 (Y)
【解决方案3】:

首先,jQuery 对象很像数组,所以[object DOMWindow] 实际上最有可能是一个 jQuery 对象。

您可能在调用$(document) 之前出现语法错误,例如缺少分号,这使得$ 看起来像是属性访问。

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 2020-04-30
    • 2018-11-26
    • 2014-08-30
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    相关资源
    最近更新 更多