javascript - jQuery - 点击父级是从子级继承的

标签 javascript jquery click parent-child

我的情况是:

<div class="overlay">
<div class="modal"></div>
</div>

现在我想要点击覆盖它隐藏 .overlay.modal div,所以:

$('.overlay').on('click',function(){
$(this+',.modal').hide();
});

它可以工作,但是有一个问题,如果我点击 .modal 它会做同样的事情,我不想,我需要告诉 jquery 隐藏仅当我点击 .overlay 时才会出现 div,如果我点击 .modal 则不会出现

我该怎么办?似乎附加到 .overlay 的事件是从 childrens 继承的。

多谢指教

在这里JSFIDDLE

最佳答案

请试试这个演示:http://jsfiddle.net/bcGZ3/3/

应用程序接口(interface):

您想要的只是停止对子 div 的点击 popogation,Jquery api abpve 将帮助您实现这一目标。顺便说一句,您的 jsfiddle 样本是空的。

希望它符合需要,:)

示例代码

$('.overlay').on('click',function(){
        $(this).hide();
     alert("Parent div click function called.");
});


$(".modal").click(function(e) {
    // click on this link will cause ONLY child alert to fire
    e.stopPropagation();
    // stop default action of link
    e.preventDefault();
    alert("Well-behaved child link click ONLY.\n\nAnd, Enjoy.");
});

关于javascript - jQuery - 点击父级是从子级继承的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16010745/

相关文章:

javascript - 嵌入式 js 代码如何在页面上插入表单或其他动态内容?

javascript - 从 Promise 返回对象

javascript - IE9 : Why setting "-ms-transform" works from css, 但不是 jquery.css()

c# - Web 浏览器控件 : click won't work

javascript - 检测网页上的合成点击

javascript - 仅选择一个单选按钮后如何向多个输入添加不同的值?

javascript - js组合对象只返回一个id

jquery - 当 ajax 请求被中止时,我如何关闭 mysql 连接?

javascript - jQuery 动态设置按钮元素事件和禁用

jquery - 保留:hover color on mouse click via Jquery