addEventListener是否添加或设置?

可以使用addEventListener将多个函数添加到同一目标上的同一事件吗?还是另一个addEventListener替代了先前的设置?


我问是因为我想从该站点获取代码,而问题是用addEventListener进行操作是否容易得多,还是类似的解决方案?我知道window.onload = f和addEventListener(“ load”,f)几乎相同,但是不确定这个细节。我需要那个代码吗?问另一种方式:如果可以添加,为什么他们不使用addEventListener?


http://webreference.com/programming/javascript/onloads/index-2.html


function addLoadEvent(func) { 

  var oldonload = window.onload; 

  if (typeof window.onload != 'function') { 

    window.onload = func; 

  } else { 

    window.onload = function() { 

      if (oldonload) { 

        oldonload(); 

      } 

      func(); 

    } 

  } 

}


RISEBY
浏览 185回答 2
2回答

陪伴而非守候

您可以使用以下任意数量添加特定类型的侦听器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改用它们。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript