3
我正在使用一種顏色選擇器,當在其外部的任何位置進行單擊時應該隱藏該顏色選擇器。 問題是,即使在選取器內進行點擊,它也會消失。如何選擇除一個元素之外的主體?
$('body :not(#picker)').click(function() {
$('#picker').fadeOut();
});
我試過了,但它會顯示選擇器並立即隱藏它。 有人有建議嗎?
謝謝。
我正在使用一種顏色選擇器,當在其外部的任何位置進行單擊時應該隱藏該顏色選擇器。 問題是,即使在選取器內進行點擊,它也會消失。如何選擇除一個元素之外的主體?
$('body :not(#picker)').click(function() {
$('#picker').fadeOut();
});
我試過了,但它會顯示選擇器並立即隱藏它。 有人有建議嗎?
謝謝。
嘗試使用event.target獲得被點擊的元素:
$("body").click(function(event) {
if (event.target.id != "picker") {
$("#picker").fadeOut();
}
});
$("body").click(function(e) {
if ($(e.target).attr('id') == 'picker') {
return;
} else {
$('#picker').fadeOut();
}
});
不錯的解決方案爲+1 – Vivek
您可能需要使用*窗口*或* HTML *而不是* *體自體可能無法覆蓋整個窗口區域。 – Jari
@Jari,然後我會用'document'去。我在回答中使用了「body」,因爲這是提問者使用的元素。 –