我的头脑陷入困境。谁能告诉我为什么这适用于“ mouseenter”而不适用于“ click”?
http://jsfiddle.net/jxUGw/3/
//////THIS DOESNT WORK
$('#view_panel').on('click', 'img.main_image', function(){
$(this).parent().find('div.image_box').show();
});
$('#view_panel').on('click', 'img.main_image', function(){
$(this).parent().find('div.image_box').hide();
});
/////THIS WORKS
$('#view_panel').on('mouseenter', 'img.main_image', function(){
$(this).parent().find('div.image_box').show();
});
$('#view_panel').on('mouseleave', 'img.main_image', function(){
$(this).parent().find('div.image_box').hide();
});
最佳答案
绑定的第二个事件在第一个事件之后立即触发。因此,div在显示时将被隐藏。
尝试使用toggle()
代替。
关于jquery - .on()mouseenter事件有效,但单击不起作用jQuery 2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16799821/