摘要:那么事件冒泡這時候就有用了,所有的點擊事件都會傳遞到根元素,那么我們只需要在根元素加一個點擊事情去隱藏它就了。
今天想聊一聊js的事件冒泡!
在項目中遇到了一個很奇怪的問題: 父元素點擊時,讓它的子元素彈出一個偽造的選擇框; 在選擇框完成選擇后,關閉它;性別
(注:著重關注它的層級關系,只是一個簡單實現性別切換的功能)男
男
女
這時候一個詭異的現象發(fā)生了:
無論怎么點擊都不會讓它實現隱藏,是代碼寫錯了。邏輯沒生效??? 然而并沒有,細細扒一扒,發(fā)現在谷歌下那個displace:block; 沒有移除,在消失的那一瞬間,又出現了,時間很短。 突然想起來js中的點擊事件是會向上級傳遞的,(稱事件冒泡) 那讓我們再來理一下邏輯: 父元素點擊后,彈起子元素的選擇框,在子元素點擊后,關閉選擇框, 然后點擊事件向上傳遞,傳給父元素,激活父元素的點擊事件,完了 又彈起子元素的選擇框。好了,既然原因已經知曉,那就終止事件冒泡不就得了,網上很多方法:
筆者這里直接在子元素點擊事件函數的最后面加一句: return false;當然事件冒泡其實也是有一些好處的: 這個選擇框其實還是有一些問題,比如點擊其它地方我想讓他消失, 但是我又能預判到用戶下一個會點擊那個元素呢,人家把你選擇框 激活了,又不一定會選擇,又可能會點擊其它地方的對吧!所以只 是選擇隱藏,還是有一定問題的。那么事件冒泡這時候就有用了,所有的點擊事件都會傳遞到根元素,那么
我們只需要在根元素加一個點擊事情去隱藏它就ok了。$(document).click(function(){ //隱藏彈出div })文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.hztianpu.com/yun/107257.html
摘要:版本發(fā)布月日,官博發(fā)文宣告正式發(fā)布。官方文檔提供了如下的示例終端上的輸出熱門文章我在阿里云做前端抓住我們核心的競爭力,并同時發(fā)現業(yè)務中的問題,跨端推進解決,這是最好的出路。 showImg(https://segmentfault.com/img/remote/1460000019038442); 【阿里云 TXD 前端月刊】- 熱門前端技術快報,聚焦業(yè)界新視界;前端領域急速發(fā)展的節(jié)奏...
摘要:版本發(fā)布月日,官博發(fā)文宣告正式發(fā)布。官方文檔提供了如下的示例終端上的輸出熱門文章我在阿里云做前端抓住我們核心的競爭力,并同時發(fā)現業(yè)務中的問題,跨端推進解決,這是最好的出路。 showImg(https://segmentfault.com/img/remote/1460000019038442); 【阿里云 TXD 前端月刊】- 熱門前端技術快報,聚焦業(yè)界新視界;前端領域急速發(fā)展的節(jié)奏...
摘要:目前預覽版現在已經可以在上使用,很快就可以在上使用。版本發(fā)布月日,官博發(fā)文宣告正式發(fā)布。距離年月發(fā)布版已有一年多了。官方表示,這是系列的最后一個版本,他們將全力準備。發(fā)布時隔一年,如約而至,正式發(fā)布第一個版本。showImg(https://user-gold-cdn.xitu.io/2019/4/30/16a6c4a6f112f3d6); 【阿里云 TXD 前端月刊】- 熱門前端技術快報,...
摘要:版本發(fā)布月日,官博發(fā)文宣告正式發(fā)布。官方文檔提供了如下的示例終端上的輸出熱門文章我在阿里云做前端抓住我們核心的競爭力,并同時發(fā)現業(yè)務中的問題,跨端推進解決,這是最好的出路。 showImg(https://segmentfault.com/img/remote/1460000019038442); 【阿里云 TXD 前端月刊】- 熱門前端技術快報,聚焦業(yè)界新視界;前端領域急速發(fā)展的節(jié)奏...
閱讀 3647·2021-10-08 10:04
閱讀 971·2019-08-30 15:54
閱讀 2252·2019-08-29 16:09
閱讀 1410·2019-08-29 15:41
閱讀 2345·2019-08-29 11:01
閱讀 1792·2019-08-26 13:51
閱讀 1107·2019-08-26 13:25
閱讀 1910·2019-08-26 13:24