jQuery點選頁面其他地方隱藏指定元素詳解
很多效果有這樣類似功能,點選頁面的其他地方時,能夠隱藏一個指定的元素。
比如在模擬實現的select下拉選單效果中,當下拉選單出現的時候,往往希望當點選頁面其他地方的時候,能夠隱藏下拉條,下面就通過一個例項單獨介紹一下如何實現此功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{ margin:0px; padding:0px; } .main{ cursor:pointer; } .list{ border:1px solid black; display:none; } .list li{ cursor:pointer; border:1px solid red; list-style:none; } #noPopEvent{ width:100px; height:100px; background-color:blue; font-size:12px; margin:200px; text-align:center; line-height:100px; } </style> <script src="https://code.jquery.com/jquery-3.0.0.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".main").click(function(e){ $(".list").toggle(); e.stopPropagation(); }) $(document).click(function(){ $(".list").hide(); }) $(".list li").click(function(){ $(".main").text($(this).text()); $(".list").hide(); }) $("#noPopEvent").click(function(e){ e.stopPropagation(); }) }); </script> </head> <body> <div style="width:200px;margin:20px;"> <div class="main">螞蟻部落</div> <div class="list"> <ul> <li>div+css教程</li> <li>javascript教程</li> </ul> </div> </div> <div id="noPopEvent">點我不行</div> </body> </html>
點選螞蟻部落能夠出現二級選單,當點選頁面的其他任何地方都會隱藏此二級選單,但是點選藍色的部分不能夠隱藏二級選單,下面介紹一下實現過程。
一.實現原理:
原理很簡單,藍色區域的click事件新增阻止事件冒泡的功能,其他的地方都沒有阻止事件冒泡,所以當點選其他地方的時候,事件能夠冒泡到document,然後將二級下拉才選單隱藏。
二.程式碼註釋:
(1).$(document).ready(function(){ }),當文件結構載入岸壁再去執行函式中的程式碼。
(2).$(".main").click(function(e){ }),當點選螞蟻部落的時候能夠實現二級下拉選單隱藏和顯示的切換。
(3).$(".list").toggle(),下拉選單顯示和隱藏的切換。
(4).e.stopPropagation(),阻止事件冒泡,否則的話冒泡都document,那麼二級選單始終處於隱藏狀態。
(5).$(document).click(function(){}),將click時間註冊到document,這樣點選任何其他地方都可以將事件冒泡到document,然後將二級選單隱藏,除非阻止了事件冒泡效果。
(6).$(".list").hide(),隱藏二級選單。
(7).$(".list li").click(function(){}),點選二級選單的某一項,能夠將當前文字寫入主體中去,然後再隱藏二級選單。
(8).$(".main").text($(this).text()),將點選的二級選單的文字寫入主體中去。
(9).$(".list").hide(),隱藏二級下拉選單。
(10).$("#noPopEvent").click(function(e){}),為藍色塊註冊事件處理函式,不過阻止了事件冒泡效果,所以二級選單不會隱藏。
相關文章
- jQuery點選頁面其他地方隱藏顯示的元素jQuery
- 點選頁面其它地方隱藏div所想到的jQuery的delegatejQuery
- javscript/jquery 點選頁面其他地方關閉某個divjQuery
- jQuery實現的點選元素隱藏和顯示jQuery
- jQuery 隱藏具有指定class屬性值的元素jQuery
- jquery隱藏具有指定class屬性值的元素jQuery
- jQuery點選平滑跳轉到頁面指定位置jQuery
- JavaScript 點選頁面其他地方關閉視窗JavaScript
- 點選元素實現當前元素隱藏效果
- 用 CSS 隱藏頁面元素的 5 種方法CSS
- jQuery隱藏一個div元素jQuery
- jQuery 判斷元素是否隱藏jQuery
- jQuery實現的元素延遲指定時間之後隱藏jQuery
- 點選空白處隱藏相應的元素
- robotframework 使用jQuery處理頁面display隱藏內容FrameworkjQuery
- jquery點選按鈕顯示和隱藏DIvjQuery
- jsp頁面中點選(checkbox)或者radio隱藏trJS
- javascript實現的點選當前元素隱藏效果JavaScript
- 點選實現隱藏元素本身程式碼例項
- jQuery導航頁面定位詳解jQuery
- jQuery實現簡單點選隱藏和點選顯示列表的功能jQuery
- jquery實現的點選頁面動畫方式平滑定位到某元素程式碼jQuery動畫
- jquery 設定頁面元素不可點選、不可編輯、只讀(備忘)jQuery
- 點選按鈕顯示或者隱藏元素例項程式碼
- 點選空白出隱藏鍵盤,或者點選按鈕隱藏軟鍵盤
- jQuery如何篩選具有指定文字的元素jQuery
- 點選連結跳轉到應用指定頁面
- jQuery 判斷頁面元素是否存在jQuery
- 點選按鈕實現隱藏一個元素程式碼例項
- 如何利用jQuery判斷一個元素是否被隱藏jQuery
- CSS隱藏元素方法CSS
- 隱藏元素,保留功能
- 使用 jQuery 選擇器獲取頁面元素,然後利用 jQuery 物件的 css() 方法設定其 display 樣式屬性,從而實現顯示和隱藏效果。jQuery物件CSS
- jquery判斷一個元素是隱藏還是顯示jQuery
- 小程式tabBar跳轉頁面並隱藏tabBartabBar
- 點選按鈕在iframe子視窗載入指定頁面
- vue點選空白區域,下拉選單隱藏Vue
- jQuery複製頁面元素程式碼例項jQuery