javascript - 使用javascriptparameter.target的原因

标签 javascript

我对 fs 函数真的很困惑。我的意思是我不明白什么时候应该使用 函数参数,函数parameter.target以及this。例如以下代码:

  e.target.addEventListener('mouseout',function handler(d)
        {   
            var divE=d.target.parentNode.querySelector('div.preview');
            divE.parentNode.removeChild(divE);
            e.target.removeEventListener('mouseout',handler,false);
        },false);

为什么使用 e.target 而不是 e 或 this?

最佳答案

e.target 通常在将事件处理程序委托(delegate)给具有动态子元素或后代的元素时使用。使用委托(delegate)时,您需要检查e.target以找出哪个后代元素触发了该事件,因为该事件已从后代元素中冒泡出来。

委托(delegate)不仅仅在拥有动态元素时使用。例如,当您有很多元素都需要事件处理程序时,它也很有用。在这种情况下,您可能更愿意仅委托(delegate)给父元素一次,而不是将事件监听器分配给所有后代。

this 上下文是分配了事件监听器的元素,因此如果您不进行委托(delegate),则可以使用 this

关于javascript - 使用javascriptparameter.target的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23811979/

相关文章:

javascript - Uint8Array.buffer 数据的 Base 16 编码

javascript - CSS 模块 @import 未能通过 Jest 测试套件

javascript - Jquery - 检查 : If scroll possible (div with overflow:scroll)

javascript - 通过将鼠标悬停在导航菜单上使页面变暗

javascript - React : this.状态在for循环中消失

javascript - jQuery:将 $(this) 传递给命名函数事件处理程序

javascript - 在网页中心的标题 block 下居中谷歌地图

javascript - UndescoreJS - 将对象属性转换为数组

javascript - 在 ngFor 中使用过滤器函数有好处吗?

JavaScript 淡出滑出,修复按钮