我試圖隱藏引導酥料餅當用戶點擊酥料餅以外的任何地方。 (我真的不確定爲什麼Bootstrap的創建者決定不提供此功能。)上點擊隱藏引導酥料餅外酥料餅
我發現下面的代碼on the web但我真的不明白它。
// Hide popover on click anywhere on the document except itself
$(document).click(function(e) {
// Check for click on the popup itself
$('.popover').click(function() {
return false; // Do nothing
});
// Clicking on document other than popup then hide the popup
$('.pop').popover('hide');
});
我覺得困惑的主要是行$('.popover').click(function() { return false; });
。這行不是爲click事件添加事件處理程序嗎?這是如何防止隱藏popover的電話popover('hide')
?
還有誰見過更好的技術?
注:我知道這個問題的變化之前已經在這裏問,但這些問題的答案涉及代碼要比上面的代碼更加複雜。所以我的問題實際上是關於上面的代碼
閱讀此:http:// stackoverflow。com/questions/1357118/event-preventdefault-vs-return-false – Icarus
@Icarus:謝謝,但這並沒有真正回答我的問題。我知道返回false會停止進一步的處理,但是如何添加點擊處理程序來改變隨後行的行爲?在彈出窗口關閉後,這不會阻止點擊工作嗎? –
該代碼完全符合您所描述的內容。每次有人在文檔的任何地方點擊(包括'.popover'),它都會添加一個事件監聽器,它完全不會做任何事情。這只是一種內存浪費,因爲在同一個元素上可能有很多事件監聽器,對於同一個事件,他們只會結束堆疊在一起 – Dogoku