js 利用事件委托解决mousedown中的click
生活随笔
收集整理的這篇文章主要介紹了
js 利用事件委托解决mousedown中的click
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
有一個需求是這樣的:
父元素div綁定一個mousedown事件,子元素a綁定一個click事件。
看解構(gòu):
<div id="nav"><a href="javascript:void(0);">點我</a></div>?
搜了很多相關(guān)的都沒有解決辦法,于是我想到了事件委托,在父元素被mousedown的時候,event對象里包含了很多有用的東西。其中target就是關(guān)鍵!
代碼:
//原生js走起 const nav = document.querySelector('#nav');const a = nav.querySelector('a');a.addEventListener("click",function(e){alert("a被點了");//e.stopPropagation();});nav.addEventListener("mousedown",function(e){(e.target.tagName).toLowerCase() === 'a' ? a.click :alert('你點擊的是父元素'); });
這樣,只要判斷到我們點擊到區(qū)域有a標簽,說明我點擊到了它,然后模擬觸發(fā)一次click,就完成了我的需求了。
轉(zhuǎn)載于:https://www.cnblogs.com/webSong/p/9234205.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的js 利用事件委托解决mousedown中的click的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单消息协议
- 下一篇: 焊接机器人应用现状及发展趋势