点击内部div运行fancybox,如何停止冒泡到外部div?

时间:2012-10-27 02:27:57

标签: javascript jquery fancybox

如果点击.a(bluearea)然后点击.menu fadein,我该如何制作 但是点击.apic(apic在a里面)运行fancybox而菜单不是fadein?

http://jsfiddle.net/e5Tdv/12/

的jQuery

$('.apic').fancybox({});
$('.a').not('.apic').click(function(){
    $('.menu').fadeIn();
});

HTML

<div class="a">
    <a class="apic" rel="gallery" href="http://fancyapps.com/fancybox/demo/1_b.jpg">
        <img src="http://fancyapps.com/fancybox/demo/1_s.jpg" alt=""/>
    </a>
</div>
<div class="menu">menu</div>

CSS

.menu{
    display: none;
}
.a{
    background: blue;
}​

1 个答案:

答案 0 :(得分:3)

您可以查看用户点击的位置(事件目标),并在未点击图片时淡出,例如:

$('.apic').fancybox({});

$('.a').click(function(e){
    $('.menu').hide(); // This is just to see that it works

    if ($(e.target).is('div')) {
        $('.menu').fadeIn();
    }
})

请参阅操作 - http://jsfiddle.net/Qeay5/