首頁  >  文章  >  web前端  >  jQuery實作點擊任意位置彈出層外關閉彈出層效果

jQuery實作點擊任意位置彈出層外關閉彈出層效果

高洛峰
高洛峰原創
2016-12-09 16:12:291768瀏覽

在之前做專案的時候經常會在主頁面上點擊某個按鈕,右側彈出一個div輸出對應內容的詳細資訊。此時,我是希望在滑鼠點擊彈出層外的時候關閉該彈出層,主要想法就是:

找到滑鼠點擊的那個元素

判斷這個元素是否在指定區域內,其實就是判斷它的父元素是不是彈出層

如果不是就對彈出層進行hide,如果是就不進行任何操作

具體實作

程式碼需要使用jQuery,程式碼如下:

$(document).mousedown(function(e){
if($(e.target).parent("#info").length==0){
$("#info").hide();
}
})
$(document).mousedown(function(e){})

就是取得整個網頁文檔對象,類似原生的window.ducument

mousedown是滑鼠事件,是指當滑鼠指標移動到元素上方並按下滑鼠按鍵時,類似的事件還有:

mouseup:當在元素上放鬆滑鼠按鈕時

mouseover:當滑鼠指標位於元素上方時

$(e.target)

$(e.target)表示取得點擊事件的元素。

parent()

$(e.target).parent("#info").length是取得目前點擊事件元素帶有id為info的父元素。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn