这与此相关: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">');
我检查过逗号,分号,看起来很好。 可能是什么问题?
感谢您的任何提示。
答案 0 :(得分:5)
这是因为在您的第二个代码中,$
是一个事件对象,.load()
的行为与.ready()
方法不同,如果您想避免冲突,请使用自调用函数:
(function($) {
$(window).load(function(event) {
// ...
});
})(jQuery);