第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js事件委托

js事件委托

一只斗牛犬 2018-10-17 17:11:35
<ul>         <li data-index='1'>1</li>         <li data-index='2'>2</li>         <li data-index='3'>3</li>     </ul>上面這樣可以把事件綁定在ul上,通過dataset來判斷點擊的是哪個li,來觸發(fā)不同的動作下面這種<ul>     <li data-index='1'>         <p>             <span>1</span>         </p>         <img/>     </li>     <li data-index='2'>         <p>             <span>2</span>         </p>         <img/>     </li>     <li data-index='3'>         <p>             <span>3</span>         </p>         <img/>     </li></ul>li 內(nèi)有多個子元素,點擊 li 必然可能會點到子元素,如果子元素上不寫dataset等標(biāo)記,如何判斷點了哪個li? 如果給li的子元素都寫上標(biāo)記那肯定不對吧,太多了。這種情況怎么優(yōu)化事件綁定的過程?
查看完整描述

1 回答

?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊

事件被觸發(fā)的時候,事件對象event有兩個很關(guān)鍵屬性Event.targetEvent.currentTarget。 
它們倆的主要區(qū)別就在于,currentTarget該屬性總是指向被綁定事件的元素,而target則是指向觸發(fā)該事件的元素。

舉個例子,你把這個事件綁定在了最上級的<ul>標(biāo)簽中,然后你現(xiàn)在點擊了下屬某個<span>標(biāo)簽。 
之后就是事件冒泡,冒泡至<ul>標(biāo)簽時,回調(diào)被觸發(fā),此時Event.currentTarget指向的是當(dāng)前<ul>的DOM對象,而Event.target則是指向你點擊的那個<span>的DOM對象。

所以在事件委托的處理中,只要在回調(diào)中對Event.target進(jìn)行分析,就能知道觸發(fā)事件的元素是不是你需要的了。


查看完整回答
反對 回復(fù) 2018-11-15
  • 1 回答
  • 0 關(guān)注
  • 509 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號