2

这与此处相关:在 $(window).load() 函数内运行 jQuery 但不在 $(document).ready 函数内运行

在我使用之前:

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">');

我检查了逗号,分号,似乎很好。可能是什么问题呢?

感谢您的任何提示。

4

1 回答 1

5

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

(function($) {
    $(window).load(function(event) {
        // ...
    });
})(jQuery);
于 2013-04-05T07:47:02.340 回答