2010-11-29 124 views

回答

1

假設你正在使用最新的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」。

回覆:切換按鈕

那麼你就必須是這樣的:

$('button').click(function(){ 
    $('div').toggle(); 
}); 
$('div').click(false); 
$(document).click(function(){ 
    $('div').hide(); 
    //reset the toggle state, e.g. 
    $('button').removeClass('selected'); 
}); 
6
$('#mydiv').click(function(e) { e.stopImmediatePropagation(); }); 
$(document.body).one("click", function() { 
    $('#mydiv').hide(); 
}); 

由於mydiv也是body元素的孩子,你不希望這個元素上點擊時,該元素將dissappear。
所以當人們點擊mydiv時,你希望它不要冒泡到body元素,這就是爲什麼你首先在你的mydiv上註冊一個點擊事件,並告訴它停止冒泡。

+0

呃,'。一()`發生在一個`eventType`作爲參數。在這裏,你綁定了什麼事件? – 2010-11-29 07:56:11

+0

固定。當然綁定到點擊事件。 – Gidon 2010-11-29 07:57:33