未捕获的TypeError:对象在更改jQuery加载方法时不是函数

时间:2013-04-05 07:39:44

标签: jquery

这与此相关:Running jQuery inside $(window).load() function but not inside $(document).ready function

在我使用之前:

jQuery( document ).ready( function( $ ) {

加载我的jQuery UI位置代码,但我决定尝试加载:

jQuery(window).load(function($) {

现在我收到一个错误:

Uncaught TypeError: object is not a function

这是我在更改之前的代码:

<script type='text/javascript'>
jQuery( document ).ready( function( $ ) {
var element_selector='.test';
if ( $(element_selector).length !== 0) {

var divname515e62e8355b0 = '#test_selector';
$(divname515e62e8355b0).children().wrapAll('<div class="mydoc cf">');

//jQuery UI Position code here

}

 });
</script>

这是我更改后的代码:

<script type='text/javascript'>
jQuery(window).load(function($) {
var element_selector='.test';
if ( $(element_selector).length !== 0) {

var divname515e62e8355b0 = '#test_selector';
$(divname515e62e8355b0).children().wrapAll('<div class="mydoc cf">');

//jQuery UI Position code here

}

 });
</script>

但是我收到了一个错误:

Uncaught TypeError: object is not a function

这是问题:

$(divname515e62e8355b0).children().wrapAll('<div class="mydoc cf">');

我检查过逗号,分号,看起来很好。 可能是什么问题?

感谢您的任何提示。

1 个答案:

答案 0 :(得分:5)

这是因为在您的第二个代码中,$是一个事件对象,.load()的行为与.ready()方法不同,如果您想避免冲突,请使用自调用函数:

(function($) {
    $(window).load(function(event) {
        // ...
    });
})(jQuery);