javascript - 单击 div 上的关闭按钮并触发 div click()

标签 javascript jquery jquery-ui

我在 DIV 中有一个关闭按钮,DIV 和关闭按钮都附加了 click() 事件。当我单击关闭按钮时,它还会触发 div click() 事件。我知道我可以在 div 内放置一个 SPAN 并将我的单击事件附加到该 span 而不是 DIV,但是有没有办法可以保留 div 单击事件和关闭按钮单击事件而不触发 div 单击关闭按钮时单击()

<div id="sendFeedback" class="feedback with-round-borders with-padding with-box-shadows">Send us your feedback <span id="closeFeedback" class="ui-icon ui-icon-circle-close" style="float:right"></span></div>
<script>
$(document).ready(function() {
 $("#sendFeedback").click(function() {
   alert('test');
 });
$("#closeFeedback").click(function() {
 $("#sendFeedback").fadeOut();
})
});
</script>

http://jsfiddle.net/t5VPN/1/

最佳答案

添加event.stopPropagation()<span>单击事件处理程序:

$(document).ready(function() {
    $("#sendFeedback").click(function() {
        alert('test');
    });
    $("#closeFeedback").click(function(event) {
        event.stopPropagation();
        $("#sendFeedback").fadeOut();
    })
});

.stopPropagation()将阻止事件冒泡到 div(或任何其他祖先):http://api.jquery.com/event.stopPropagation/

这是您更新的 jsfiddle:http://jsfiddle.net/jasper/t5VPN/2/

关于javascript - 单击 div 上的关闭按钮并触发 div click(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391364/

相关文章:

javascript - 如何让javascript Date.parse理解短年?

javascript - 传递组件 props 并在 Switch case 内使用

javascript - jQuery 创建新数组并将旧数组加倍

javascript - jquery错误 "is not a function"

jquery - Bootstrap 4 输入组附加不起作用

javascript - 带定时器的非阻塞脚本

javascript - Angularjs 更改 mouseenter 上的类(悬停)

javascript - 在线 JS/CSS/HTML 压缩器

javascript - jQuery If 是否设置,或者如果不为空?

html - 在类上禁用和重新启用可拖动