浏览器中的事件都是以对象的形式存在的, 在标准的 DOM 中,规定事件对象必须作为唯一的参
数传给事件处理函数。
<body>
<div id = "target">
<p>click p</p>
click div
</div>
<script>
document
.querySelector("div#target")
.addEventListener('click',
(event) => {
console.log(event.target.tagName)
}
);
</script>
</body>
事件对象中的常见属性
标准dom | 类型 | 读/写 | 说明 |
altKey | Boolean | 读写 | 按下Alt键则为true,否则为false |
button | Integer | 读写 | 鼠标事件,值对应按下的鼠标键 |
cancelable | Boolean | 只读 | 是否可以取消事件的默认行为 |
stopPropagation() | Function | N/A | 阻止事件向上冒泡 |
clientX | Integer | 只读 | 鼠标在客户端区域(当前窗口)的水平坐标,不包括工具栏,滚动条等 |
clientY | Integer | 只读 | 鼠标在客户端区域(当前窗口)的垂直坐标,不包括工具栏,滚动条等 |
ctrlKey | Boolean | 只读 | 按下Ctrl键则为true,否则为false |
relatedTarget | Element | 只读 | 鼠标正在进入/离开的元素 |
charCode | Integer | 只读 | 按下按键的Unicode值 |
keyCode | Integer | 读写 | 按下按键时为0,其余情况下为按下按键的数字代号 |
detail | Integer | 只读 | 鼠标按键的单击次数 |
preventDefault() | Function | N/A | 阻止事件的默认行为 |
screenX | Integer | 只读 | 鼠标相对于屏幕的水平坐标 |
screenY | Integer | 只读 | 鼠标相对于屏幕的垂直坐标 |
shiftKey | Boolean | 只读 | 按下Shiftl键则为true,否则为false |
target | Element | 只读 | 引起事件的元素/对象 |
type | String | 只读 | 事件的名称 |