button对象的onclick属性是怎么来的
 button.html文件

 <!DOCTYPE html>
<html>
    <head>
        <title>DOM</title>
    </head>
    <body>
        <button id="button">this is a button</button>
    </body>
</html>

 然后在开发者工具的控制台(console)中加入button对象的点击事件:

 button.onclick = function(){
    alert("Hello World");
}

 点击按钮时的效果:


图片说明


为什么会有一个button对象呢?
  因为浏览器解析上面的HTML时,会把标记解析为对象,如将<button>元素解析为button对象,
  因此我们会有一个button对象

那button对象的onclick属性是怎么来的呢?
  在此网站(https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLButtonElement)中的
  的HTMLButtonElement,HTMLElement,
  Element和Node接口中均没有找到onclick属性

1个回答

在一部分浏览器中,浏览器解析HTML时,会把元素的id解析为window对象的属性,其属性值就是这个元素对象的引用,而window对象的属性就等于是全局变量。

onclick是属于GlobalEventHandlers接口的属性
https://developer.mozilla.org/zh-CN/docs/Web/API/GlobalEventHandlers/onclick

li_13579_li
li_13579_li 提示:Uncaught ReferenceError: button is not defined
一年多之前 回复
li_13579_li
li_13579_li 回复: 谢谢,原来button对象是这样来的,当我修改button元素为<button id="a">时,如果还是console.dir(button),就报错了,
一年多之前 回复
jslang
天际的海浪 你把button元素的id改成别的试试
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问