addEventListener覆盖其他事件操作

addEventListener overwrites other event actions?

本文关键字:操作 事件 其他 覆盖 addEventListener      更新时间:2023-09-26

addEventListener是否覆盖以前为特定事件定义的操作?例如,

<input type="text" name="ele" id="eleID" onfocus="doSomeThing();"/>

现在,如果我为同一事件添加另一个操作,两个函数都会被执行吗?

eleID.addEventListener('focus',doSomethingElse,false);

如果doSomethingElse()覆盖doSomeThing(),有其他方法吗?

否。

来自MDC:

addEventListener是按照W3C DOM中的指定注册事件侦听器的方法。其优点如下:

  • 它允许为一个事件添加多个处理程序

请参见示例。

否,它不会"覆盖"其他处理程序;这就是为什么它被称为"addEventListener"。当事件发生时,将调用所有处理程序。

现在,我要说的是,将旧式的"DOM0"事件处理程序附件机制("onevent"属性)与添加了"addEventListener()"的事件处理程序混合起来并不是一个很好的做法。