1. 程式人生 > >關於點選空白關閉彈窗的js語句

關於點選空白關閉彈窗的js語句

最近專案中出現了這種情況,點選某個按鈕或連結,出現一個彈窗或者展開一個模組,然後點選彈窗(模組)之外的空白,它會被關閉。所以就出現了js如何獲取一個div以外的所有地方,於是百度了一下程式碼,親測有用,已經運用到專案中,下面分享一下,有別的更簡單的方法,歡迎補充。

$(document).mouseup(function(e){
  var _con = $(' 目標區域 ');   // 設定目標區域
  if(!_con.is(e.target) && _con.has(e.target).length === 0){ 
    some code...   // 功能程式碼
  }
});

原理:
判斷點選事件發生在區域外的條件是:
1. 點選事件的物件不是目標區域本身
2. 事件物件同時也不是目標區域的子元素