使用javascript参数.target的原因

the cause for using javascript parameter.target

本文关键字:target javascript 参数 使用      更新时间:2023-09-26

我对fs函数真的很困惑。我是说我不明白什么时候该用函数参数,函数参数。target和when 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。使用委托,您需要检查e.target以找出哪个后代元素触发了事件,因为事件是从后代元素冒出来的。

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

this上下文是指定事件侦听器的元素,所以如果您不做委托,则可以使用this