为了账号安全,请及时绑定邮箱和手机立即绑定

addEventListener是否添加或设置?

addEventListener是否添加或设置?

RISEBY 2021-04-26 20:17:13
可以使用addEventListener将多个函数添加到同一目标上的同一事件吗?还是另一个addEventListener替代了先前的设置?我问是因为我想从该站点获取代码,而问题是用addEventListener进行操作是否容易得多,还是类似的解决方案?我知道window.onload = f和addEventListener(“ load”,f)几乎相同,但是不确定这个细节。我需要那个代码吗?问另一种方式:如果可以添加,为什么他们不使用addEventListener?http://webreference.com/programming/javascript/onloads/index-2.htmlfunction addLoadEvent(func) {   var oldonload = window.onload;   if (typeof window.onload != 'function') {     window.onload = func;   } else {     window.onload = function() {       if (oldonload) {         oldonload();       }       func();     }   } }
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

您可以使用以下任意数量添加特定类型的侦听器addEventListener:


div.addEventListener('click', () => console.log('listener 1'));

div.addEventListener('click', () => console.log('listener 2'));

<div id="div">click me</div>

相反,当您分配给on-事件属性时,如果以前曾对该属性进行过分配,则它将丢失,并且只有分配给它的最后一个将运行:


div.onclick = () => console.log('listener 1');

div.onclick = () => console.log('listener 2');

<div id="div">click me</div>

因此,一般而言,最好使用addEventListener确保脚本不会覆盖另一个侦听器的方式,并确保您的侦听器也不会被覆盖。

问题中的代码很奇怪-是的,应该addEventListener改用它们。


查看完整回答
反对 回复 2021-05-06
  • 2 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信