jQuery单击Div上的事件,子分区除外

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (44)

我有以下的HTML:

<div class="server" id="32">
  <a>Server Name</a>
  <div class="delete-server">X</div>
</div>

我试图做到这一点,当用户点击server分区它会出现一个编辑对话框。问题只是在做:

 $(".server").click(function () {
     //Show edit dialog
 });

不起作用,因为如果他们点击删除的X,它会弹出编辑对话框。如何使整个div server有除delete-serverdiv 之外的点击事件。

提问于
用户回答回答于
$(".server").on('click', ':not(.delete-server)', function (e) {
     e.stopPropagation()
     // Show edit dialog
});
用户回答回答于

只需检查触发事件的元素是什么:

$(".server").click(function(e) {
    if (!$(e.target).hasClass('delete-server')) {
        alert('Show dialog!');
    }
});​

扫码关注云+社区

领取腾讯云代金券