鍍金池/ 問答/HTML/ js event.target 如何理解

js event.target 如何理解

document.body.addEventListener('mouseup', mouseupHandler, false);

簡(jiǎn)單來說就是這么一條代碼,另外 body 里還鋪滿了其他元素,也就是說鼠標(biāo)點(diǎn)擊的時(shí)候都是點(diǎn)擊在其他元素上。
我在 mouseuphandler 里 console.log(event.target) 發(fā)現(xiàn) target 指向其他元素而不是 body。
我之前看過那個(gè) <ul><li></li></ul> 事件代理的例子,里面是 ul 監(jiān)聽事件,執(zhí)行方法的時(shí)候 event.target 指向 li,但是我希望執(zhí)行 mouseuphandler 的時(shí)候 event.target 指向 body,現(xiàn)在的情況就像是,事件冒泡的時(shí)候,在其他元素那兒 mouseuphandler 就被執(zhí)行掉了,而沒有到 body 這兒

回答
編輯回答
氕氘氚
  1. currentTarget應(yīng)該是body吧?
  2. 從描述來看,可以試下事件捕獲。
  3. 所以那個(gè)function里到底寫了啥……
2018年2月14日 07:34
編輯回答
九年囚

event.target指向的是觸發(fā)該事件的節(jié)點(diǎn),監(jiān)聽click的話,就是被點(diǎn)擊的那個(gè)元素

沒有冒泡到body這兒,肯定是在事件冒泡的過程中使用了event.stopPropagation方法阻止了事件的冒泡

事件捕獲可以解決你的問題

2017年2月11日 17:24