在本文為大家介紹兩種思路實現點選頁面其它地方隱藏該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...