javascript - 为什么事件在 HTML 中有 “on” 前缀?

标签 javascript html dom-events

为什么事件有on前缀,比如onclick,例如:

<button onclick="displayDate()">The time is?</button>

在W3Schools上,它明确指出onclick是一个事件,下面是截图:

enter image description here

但是在 MDN 上,它说 click 是事件。

所以我的问题是:

  • 哪个是真实事件,onclickclick

  • 为什么我们在 HTML 中使用 onclick,而在 JavaScript 中使用 click,就像这样?

    button.addEventListener('click', event => {
     ...;
    });
    

    为什么不喜欢这样呢?

    button.addEventListener('onclick', event => {
     ...;
    });
    

最佳答案

which one is the true event, onclick or click?

click是事件的名称

onclick 是属性(和 HTML 属性)的名称,您为其分配一个函数,该函数将在触发事件时调用

“on”在“Indicating the day or part of a day during which an event takes place”的意义上使用。:在事件发生时,函数被调用。

why it is not

button.addEventListener('onclick',

“当事件触发时”的意思由“addEventListener”传达,因此不需要通过说“on”再次传达。

此外,一些元素有方法,如 click()focus() 可以让事情发生。如果事件处理程序属性具有相同的名称,则会发生名称冲突。

关于javascript - 为什么事件在 HTML 中有 “on” 前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58557158/

相关文章:

javascript - datatables响应函数触发时如何重做js

javascript - 从 Angular 应用程序范围之外调用 AngularJS 函数

HTML anchor 标记 & :target

html - 包含textarea的div左右重叠div

javascript - 检测哪个滚动条随着滚轮事件而移动

javascript - 如何在 Material-UI 中将对话框置于顶部

javascript - 右键单击以使用 javascript 从文本区域获取单词?

html - float 元素中的相对填充 : why does it work this way?

javascript - 检查 Javascript 中的按钮是否被单击

javascript - removeEventListener 和带参数的匿名函数