我的问题是,在页面加载时会触发一个复选框,因此会产生一个ajax调用,这会使我的页面加载速度非常慢。
我找到了触发这些复选框的代码:
我的jQuery脚本
$('.checkGroup > input[type="checkbox"]').live('change',function(){
$t = $(this);
$t.closest('.checkGroup').find('.payload').toggle( $t.is(':checked'));
if( !$t.is(':checked') ){
$t.closest('.checkGroup').find('.payload input[type="checkbox"]')
.attr('checked',false);
}
}).trigger('change');
$('.checkGroup input[type="checkbox"]').change(function(){
$c = $(this);
$c.closest('.checkGroup').find('label > span b')
.text( $c.closest('.checkGroup')
.find('input[type="checkbox"]:checked').length
);
}).trigger('change');
如何禁用此onload或其他任何方式?
答案 0 :(得分:2)
删除.trigger('change')
,因为它会触发您正在显示的相同功能的事件。
答案 1 :(得分:0)
如果需要延迟页面加载后尝试触发change
,或者不触发它。
$(function(){
var $checkboxes = $$('.checkGroup > input[type="checkbox"]').live('change',function(){
$t = $(this);
$t.closest('.checkGroup').find('.payload').toggle( $t.is(':checked'));
if( !$t.is(':checked') ){
$t.closest('.checkGroup').find('.payload input[type="checkbox"]')
.attr('checked',false);
}
});
setTimeout(function(){
$checkboxes.change();
}, 500);
});