簡體   English   中英

如何在div外部單擊鼠標時隱藏div

[英]How to hide a div when the mouse is clicked outside the div

我有一個HTML div,我想在用戶點擊div之外的任何地方時隱藏它。 點擊哪個元素應該觸發onclick事件?

$('#mydiv').click(function(e) { e.stopImmediatePropagation(); });
$(document.body).one("click", function() {
    $('#mydiv').hide();
});

由於mydiv也是body元素的子元素,因此當您單擊該元素時,您不希望該元素消失。
因此,當人們點擊mydiv ,你希望它停止冒泡到body元素,這就是為什么首先你在你的mydiv上注冊一個click事件,並告訴它停止冒泡。

假設您使用的是最新的jQuery,v1.4.4:

$(<the div you want hidden>).click(false); //stop click event from bubbling up to the document
$(document).one('click', function(){
  $(<the div you want hidden>).hide(); //which will hide the div
});

換句話說,如果你點擊這個頁面,這段代碼會說'隱藏div,除非你點擊div'。

Re:切換按鈕

然后你會有類似的東西:

$('button').click(function(){
  $('div').toggle();
});
$('div').click(false);
$(document).click(function(){
  $('div').hide();
  //reset the toggle state, e.g.
  $('button').removeClass('selected');
});

BODY元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM