鼠标点击
点击鼠标按键会触发一系列事件。"mousedown"
事件和"mouseup"
事件类似于"keydown"
和"keyup"
事件,当鼠标按钮按下或释放时触发。当事件发生时,由鼠标指针下方的 DOM 节点触发事件。
在mouseup
事件后,包含鼠标按下与释放的特定节点会触发"click"
事件。例如,如果我在一个段落上按下鼠标,移动到另一个段落上释放鼠标,"click"
事件会发生在包含这两个段落的元素上。
若两次点击事件触发时机接近,则在第二次点击事件之后,也会触发"dbclick"
(双击,double-click)事件。
为了获得鼠标事件触发的精确信息,你可以查看事件中的clientX
和clientY
属性,包含了事件相对于窗口左上角的坐标(以像素为单位)。或pageX
和pageY
,它们相对于整个文档的左上角(当窗口被滚动时可能不同)。
下面的代码实现了简单的绘图程序。每次点击文档时,会在鼠标指针下添加一个点。还有一个稍微优化的绘图程序,请参见第 19 章。
<style>
body {
height: 200px;
background: beige;
}
.dot {
height: 8px; width: 8px;
border-radius: 4px; /* rounds corners */
background: blue;
position: absolute;
}
</style>
<script>
window.addEventListener("click", event => {
let dot = document.createElement("div");
dot.className = "dot";
dot.style.left = (event.pageX - 4) + "px";
dot.style.top = (event.pageY - 4) + "px";
document.body.appendChild(dot);
});
</script>
当前内容版权归 wizardforcel 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 wizardforcel .