我的思绪令人难以置信。任何人都可以告诉我为什么这适用于' mouseenter'但没有点击'?
//////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();
});
答案 0 :(得分:3)
绑定的第二个事件是在第一个事件之后立即触发。所以div很快就被隐藏了。
请尝试使用toggle()
。
答案 1 :(得分:1)
不是它不起作用,你只需在点击时调用这两个功能。
尝试改为(1次点击功能):
$('#view_panel').on('click', 'img.main_image', function(){
$(this).parent().find('div.image_box').toggle();
});