我对 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/