<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();
});
答案 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();
});
请注意live()
。自jQuery 1.7起已被弃用。如果您使用的版本之前为1.7,则API建议使用delegate()
,或者在1.7及更高版本中使用on()
。
参考文献: