javascript - 点击内层div运行fancybox,如何阻止外层div冒泡?

标签 javascript jquery fancybox

如果点击.a(bluearea)然后.menu淡入,我该如何制作,
但是点击.apic(apic在a里面)运行fancybox并且菜单没有淡入?

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;
}​

最佳答案

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

$('.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/

关于javascript - 点击内层div运行fancybox,如何阻止外层div冒泡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13096706/

相关文章:

javascript - 仅对一个元素使用each-ready 函数?

javascript - 查看是否有任何转换正在进行

javascript - 从 jQuery 中的 select 元素生成逗号分隔的字符串

javascript - 在 div 中对齐单选按钮

jquery - Fancybox导致滚动条出现

javascript - Fancybox媒体如何申请?

javascript - JS条码输入数据

php - 有没有一种简单的方法使用 CSS 或 Javascript 根据字段的值更改 div 的背景颜色

javascript - Openlayers 在 map 上方添加自定义 div

jquery - Fancybox 2 宽度错误