點選頁面div彈窗以外隱藏的兩種思路

2022-03-25 01:27:45 字數 917 閱讀 9587

在本文為大家介紹兩種思路實現點選頁面其它地方隱藏該div,第一種是對document的click事件繫結事件處理程式..

第一種思路分兩步 

第一步:對document的click事件繫結事件處理程式,使其隱藏該div 

第二步:對div的click事件繫結事件處理程式,阻止事件冒泡,防止其冒泡到document,而呼叫document的onclick方法隱藏了該div。 

這樣當點選頁面非div區域的時候,直接或層層冒泡會呼叫document的onclick方法,隱藏該div,而點選div或其子元素的時候,事件總會冒泡的div本身,這時候會阻止事件繼續冒泡,不會呼叫doument的onclick方法致使div被隱藏,從而完成了我們的需求。 

思路二

我們之前提到,在觸發dom上的某個事件的時候會產生乙個事件物件event,這個物件包含著所有與事件有關的資訊,包括產生事件的元素、事件型別等相關資訊,思路一中div的click事件處理程式傳入的引數就是這個event物件。訪問ie中的event物件有幾種不同的方式,取決於指定事件處理程式的方法。直接為dom元素新增事件處理程式時,event物件作為window物件的乙個屬性存在。 

event物件包含了乙個重要屬性:target(w3c)/srcelement(ie),這個屬性標識了觸發事件的原始元素,思路二就是要利用這個屬性。我們可以直接對document的click事件繫結事件處理程式,在事件處理程式中判讀事件源是否為id==test的div元素或其子元素,如果是則方法return不做操作,如果不是則隱藏該div。 

這樣當點選頁面任何地方的時候都會層層冒泡至document的click事件,事件處理程式會判斷事件源是否為id==test的div或其子元素,如果是方法return,否則隱藏該div,也能夠實現我們的需求。

點選頁面其他地方隱藏彈窗

doctype html html head meta charset utf 8 title title script src js jquery 2.1.3.min.js script style tip style head body button 點我 button div class ti...

點選頁面其它地方隱藏該div的兩種思路

第一種思路分兩步 第一步 對document的click事件繫結事件處理程式,使其隱藏該div 第二步 對div的click事件繫結事件處理程式,阻止事件冒泡,防止其冒泡到document,而呼叫document的onclick方法隱藏了該div。document bind click functi...

滑鼠點選層以外的地方層隱藏

根據去哪兒 輸入框點選按鈕而寫 實現功能效果 1 點選按鈕,相應層顯示,點選層以外的部分層隱藏 2 重複點選按鈕時,按鈕附屬層顯示時變隱藏,反之亦然 3 如果乙個頁面上有兩個以上這種效果,層會有互斥效果 page language c autoeventwireup true codefile de...