jquery close div onclick除非点击特定按钮

时间:2012-04-26 14:32:50

标签: jquery

<div id="theHover" class="therequest" style="display:none;">

<div class="noprint"><button  id="closetheHover">Close Window</button></div>

All My Content

<div class="noprint"><button id="theprint" class="print">Print</button></div>

</div>

我想在div上的任何地方点击关闭theHover div,除了打印按钮

我有按钮closethehover现在关闭它。

$("#closetheHover").live("click", function(){  
 $("#theHover").hide();
 });

2 个答案:

答案 0 :(得分:3)

$(document).on("click", "#closetheHover", function(e){  
    if (e.target.id != 'theprint') {
        $("#theHover").hide();
    }
});​

document替换为最近的非动态父级!

答案 1 :(得分:1)

我建议:

$("#theHover").on("click", '*:not("#thePrint")', function(){  
    $("#theHover").hide();
});

JS Fiddle proof of concept

请注意live()。自jQuery 1.7起已被弃用。如果您使用的版本之前为1.7,则API建议使用delegate(),或者在1.7及更高版本中使用on()

参考文献: