jQuery: How can I use “$” instead of “jQuery”?

2020-06-06 04:23发布

I have simple jQuery in my site, yet I keep getting this error:

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

The error only appears if I use "$" instead of "jQuery".

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

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

Do I need to do anything to use "$"?

3条回答
Anthone
2楼-- · 2020-06-06 05:18

You can wrap your code:

(function($) {
    // here $ would be point to jQuery object
    $(document).ready(function() {
        $('#pass').keyup( ... );
    });
})(jQuery);
查看更多
贼婆χ
3楼-- · 2020-06-06 05:18

First, jQuery objects are a lot like arrays, so [object DOMWindow] actually is a jQuery object most likely.

You might have a syntax error, like a missing semicolon, right before the call to $(document) which is making the $ look like a property access.

查看更多
兄弟一词,经得起流年.
4楼-- · 2020-06-06 05:23

You probably have jQuery noConflict mode enabled somewhere in your code, see: http://api.jquery.com/jQuery.noConflict/

jQuery.noConflict(); // Stops $ from workng
查看更多
登录 后发表回答