13

我对 Javascript 完全陌生。但是我之前对 Activescript 有所了解。我被教导使用 addEventListener 来处理事件。

但是当我谈到 JavaScript 时,虽然 addEventListener 是一个选项,但使用 addEventListener 似乎是一种次要的方式。相反,人们使用 onChange()。

除了句法上,是否有任何行为差异?

我还被教导要始终使用 removeEventListener。似乎不是很有必要。如果我使用onChange,是否不需要编码removeEventListener?

谢谢

4

4 回答 4

14

两个主要区别:

  • addEventListener与旧的 IE 浏览器不兼容
  • onchange 不添加事件侦听器:它替换现有的
于 2013-02-14T20:03:30.310 回答
3

addEventListener您可以附加多个事件侦听器。onchange属性不是这样。

于 2013-02-14T20:03:15.083 回答
2

我个人认为 addEventListener 要好很多。您可以在 HTML5 中使用此示例

document.addEventListener("input", function(){
  target = window.event.target.value;
  window.event.target.nextSibling.nextSibling.value = target*2;
});
<input name="1" value="25">
<input name="2" value="50" readonly>
<p>Hello World</p>

于 2017-01-15T00:55:09.947 回答
0

你们说的都是真的,但是当“通过代码”进行更改时,似乎只有 onchange 才能捕获更改。

于 2019-02-21T11:37:03.677 回答