課程
/前端開發
/JavaScript
/JS插件開發之LightBox圖片畫廊(上)
e.stopPropagation();
2015-11-10
源自:JS插件開發之LightBox圖片畫廊(上) 3-3
正在回答
把click事件委托給body可以提高效率,并不是要body來觸發click事件(當然body也可以通過冒泡行為當 event.currentTarget.nodeName ==="body" 時觸發,而實際上我們需要阻止冒泡行為來阻止body觸發click),而是要匹配到body里面的子元素event.target來觸發click事件,delegate(body子元素,事件類型,fn)方法默認有冒泡行為,因此需要阻止冒泡。
這個絕對有問題,jquery我不知道,在js里采用事件委托,然后采用e.stopPropagation()?阻止冒泡的話,阻止的是委托對象(在這個案例里是body)的冒泡,而不可能阻止到e.target那個對象的冒泡,因為body事件的觸發就是e.target冒泡才觸發的,已經發生的事怎么還可以阻止呢。我用原生js的事件委托完全沒有辦法做到,在此表示質疑課程中e.stopPropagation() 使用的正確性。
e.stopPropagation() 是根據事件委托找到目標對象 ,阻止目標對象的事件冒泡
舉報
圖片畫廊插件開發綜合演練,快來加入我們的課程吧
1 回答為什么在body上委托了事件,還要再阻止事件冒泡
1 回答事件冒泡不知道如何理解
2 回答關于課程中阻止冒泡的質疑
2 回答為什么下面還要定義self=this
2 回答為什么這js文件引不進html里面來,在網頁上看不到js里面的內容
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-01-16
把click事件委托給body可以提高效率,并不是要body來觸發click事件(當然body也可以通過冒泡行為當 event.currentTarget.nodeName ==="body" 時觸發,而實際上我們需要阻止冒泡行為來阻止body觸發click),而是要匹配到body里面的子元素event.target來觸發click事件,delegate(body子元素,事件類型,fn)方法默認有冒泡行為,因此需要阻止冒泡。
2015-11-30
這個絕對有問題,jquery我不知道,在js里采用事件委托,然后采用e.stopPropagation()?阻止冒泡的話,阻止的是委托對象(在這個案例里是body)的冒泡,而不可能阻止到e.target那個對象的冒泡,因為body事件的觸發就是e.target冒泡才觸發的,已經發生的事怎么還可以阻止呢。我用原生js的事件委托完全沒有辦法做到,在此表示質疑課程中e.stopPropagation() 使用的正確性。
2015-11-22
e.stopPropagation() 是根據事件委托找到目標對象 ,阻止目標對象的事件冒泡