2011-06-03 453 views
2

确实的addEventListener覆盖以前对特定事件定义的动作?例如,addEventListener会覆盖其他事件操作?

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

现在,如果我添加为同一事件的另一个动作,都将两者的功能得到执行?

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

如果doSomethingElse()覆盖doSomeThing(),有没有其他的办法做到这一点?

回答

0

不,它不会“覆盖”其他处理程序;这就是为什么它被称为“add EventListener”。所有的处理程序都在事件发生时被调用。

现在,我会说,混合旧式“DOM 0”事件处理程序的连接机构(以下简称“上事件”属性)与“使用addEventListener()补充说:”事件处理程序是不是一个很好的实践。

4

From MDC号:

的addEventListener是如W3C DOM指定到注册事件监听器的方式。它的好处如下:

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

See example