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

时间:2011-12-05 20:23:24

标签: javascript jquery jquery-ui

我在DIV中有一个关闭按钮,DIV和关闭按钮也附加了click()个事件。当我单击关闭按钮时,它还会触发div click()事件。我知道我可以在div中放置一个SPAN并将我的click事件附加到span而不是DIV,但是有一种方法可以保持div click事件和关闭按钮单击事件并且不会触发div {{1当我点击关闭按钮时?

click()

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

3 个答案:

答案 0 :(得分:6)

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/

答案 1 :(得分:2)

是的。您应该在DOM树中取消事件的冒泡。

有关更多信息,请参阅DOM事件文档中的Event#stopPropagation()

答案 2 :(得分:1)

$('#closeFeedback').click(function(e){
     $('#sendFeedback').fadeOut();
     e.stopPropagation();
 });