在点击功能中放置点击功能时出现问题。我也试过mousedown(),但同样的问题。执行 else 时,单击按钮。点击功能正在运行两次。
$('.tableData').click(function(){ if($('tr.trSelected').length > 1) { $('.box-edit').addClass('btn-disabled'); $('.box-info').addClass('btn-disabled'); $('.nav-edit').unbind('click'); $('.nav-info').unbind('click'); } else { $('.box-edit').removeClass('btn-disabled'); $('.box-info').removeClass('btn-disabled'); $('.nav-edit').bind('click', function() { $('.sub-nav-edit').slideToggle(200); $('.box-edit').toggleClass('sub-nav-active'); }); } });
答案 0 :(得分:0)
您需要告诉它,使用stopImmediatePropagation
(事件参数,我已添加e
)来停止处理点击事件的冒泡。
$('.tableData').click(function(e){
if($('tr.trSelected').length > 1) {
$('.box-edit').addClass('btn-disabled');
$('.box-info').addClass('btn-disabled');
$('.nav-edit').unbind('click');
$('.nav-info').unbind('click');
}
else {
$('.box-edit').removeClass('btn-disabled');
$('.box-info').removeClass('btn-disabled');
e.stopImmediatePropagation();
$('.nav-edit').bind('click', function() {
$('.sub-nav-edit').slideToggle(200);
$('.box-edit').toggleClass('sub-nav-active');
});
}
});
答案 1 :(得分:0)
也许您应该将if语句放入“click”功能并在那里测试当前是否选中了该按钮。这样你就不需要解绑/重新绑定函数了。