1
<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 上的任何位置(打印按钮除外)时,我想关闭 Hover div

我有按钮 closethehover 现在关闭它。

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

2 回答 2

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

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

于 2012-04-26T14:36:23.707 回答
1

我建议:

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

JS Fiddle 概念证明

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

参考:

于 2012-04-26T14:35:59.677 回答