Javascript 谁监听HTML标记上的DOM事件(如onclick)?

Javascript 谁监听HTML标记上的DOM事件(如onclick)?,javascript,html,dom,Javascript,Html,Dom,我正在学习客户端JavaScript,对HTML元素如何侦听DOM事件和执行回调有点困惑 给你一页! 提交我! const textField=document.getElementById(“文本字段”); const button=document.getElementById(“提交按钮”); 常量showValue=()=>{ 让inputValue=textField.value; 警报(输入值); }; button.onclick=showValue; 例如,我确实将showV

我正在学习客户端JavaScript,对HTML元素如何侦听DOM事件和执行回调有点困惑


给你一页!
提交我!
const textField=document.getElementById(“文本字段”);
const button=document.getElementById(“提交按钮”);
常量showValue=()=>{
让inputValue=textField.value;
警报(输入值);
};
button.onclick=showValue;
例如,我确实将
showValue
分配给
button.onclick
属性。但是谁设置了侦听器并执行
按钮。onclick

我想一定有一些JavaScript代码在某处,它会像


const button.listenToOnclick = function() {
  // wait until user clicks
  if (clicked && button.onclick) {
    button.onclick();
  }
}
button.listenToOnClick(); // async and waits for the click to execute onclick

这段代码是否嵌入到HTML按钮标记中?

每个HTML元素本身就是一个对象。这些对象中的每一个在构造时都有一组属性,这些属性使其本质上成为一个对象。与创建文本字段所固有的.value相同,您还可以使用多个其他函数,例如.onClick

将函数附加到事件时,您正在访问此预烘焙的in功能

要回答您的问题,按钮本身正在监听onClick函数的启动。但将信息发送到按钮或DOM的是窗口。该窗口是在浏览器中运行的Javascript、HMTL和CSS的实例


因此,所发生的事情是,窗口知道您已单击以及单击的位置。然后,它将该信息发送到dom,并说“有什么东西吗?”如果有,它会说“它在听点击事件吗?”如果这两个条件都满足,则会触发onClick事件。

我猜您正在寻找的实体是我们喜爱的浏览器。每个浏览器都有一个浏览器,负责执行JavaScript、呈现布局、处理用户DOM交互、安全问题,可能还有更多


例如,Firefox使用引擎Gecko呈现页面,使用引擎SpiderMonkey处理JavaScript。Chrome使用引擎闪烁进行渲染,V8用于JavaScript(Node.js的源引擎)。

Yes;
onclick
属性行为内置于浏览器的DOM实现中。如果您对更多细节感兴趣,这将是一篇很好的文章。
标记将侦听onClick,然后它将检查元素的
onClick
,它还将检查按钮上的侦听器,使用侦听器比在元素上使用
onClick
更好,。因为这允许每个元素有多个监听器,而不仅仅是一个。
button.onclick=showValue
set使用元素的
onclick
属性直接在元素上添加一个“事件处理程序”。当该特定对象上发生
click
事件时,将调用单个指定函数。推荐的替代方法是使用“事件侦听器”。请参阅MDN了解这些功能的工作原理:(也许可以查看本文了解一些不同之处:)当您说按钮本身正在侦听时,
标记是与其对应的DOM对象的一个或多个标记吗?标记只是DOM中按钮对象的一个占位符。它的功能与您点奶酪汉堡的功能相同。你说“我要一个芝士汉堡”,然后餐馆给你一个。在本例中,您使用HTML表示“我想要一个按钮”,然后DOM为您创建一个按钮对象,该对象具有所有固有属性。