hand
_1_11_108
4
返回栏目
0k
2k
1k
2k
1k
1k
1k
2k
2k
2k
1k
2k
1k
2k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
2k
1k
1k
2k
2k
2k
3k
3k
2k
3k
2k
3k
3k
3k
1k
2k
3k
2k
2k
3k
3k
2k
2k
6k
3k
2k
2k
5k
3k
4k
3k
3k
2k
4k
3k
3k
2k
3k
3k
1k
4k
4k
4k
2k
5k
3k
2k
3k
4k
3k
3k
4k
2k
3k
3k
4k
2k
2k
3k
4k
3k
3k
2k
5k
2k
3k
3k
3k
3k
2k
3k
3k
3k
2k
2k
2k
2k
3k
2k
2k
2k
3k
2k
2k
2k
2k
2k
2k
0.1k
0.2k
3k
2k
3k
2k
0.1k
2k
2k
4k
2k
2k
1k
2k
2k
3k
3k
3k
3k
2k
2k
3k
3k
3k
4k
3k
3k
4k
3k
2k
2k
3k
3k
3k
3k
3k
3k
2k
3k
3k
4k
4k
3k
3k
2k
2k
3k
2k
2k
1k
2k
3k
1k
2k
2k
2k
2k
2k
2k
2k
2k
2k
4k
2k
3k
2k
1k
2k
2k
2k
2k
2k
3k
2k
3k
1k
2k
2k
2k
0k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
1k
1k
3k
2k
3k
1k
2k
1k
2k
2k
2k
2k
3k
1k
3k
2k
2k
2k
2k
2k
2k
1k
2k
2k
4k
3k
3k
2k
2k
2k
2k
2k
2k
4k
3k
3k
3k
2k
2k
2k
2k
2k
2k
3k
4k
返回前端 - Javascript栏目
作者:
贺及楼
成为作者
更新日期:2025-02-21 20:06:04
在前端开发中,JavaScript 赋予了网页交互性,而事件对象则是实现这些交互的关键。其中,鼠标事件属性为我们提供了丰富的信息,帮助我们根据用户的鼠标操作做出不同的响应。本文将深入探讨事件对象中的鼠标事件属性。
当事件触发时,浏览器会创建一个事件对象(Event Object),该对象包含了与该事件相关的各种信息。对于鼠标事件,事件对象中包含了许多与鼠标操作相关的属性,这些属性可以告诉我们鼠标的位置、按钮状态等信息。
clientX
和 clientY
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<div id="testDiv" style="width: 200px; height: 200px; background-color: lightblue;">
点击我查看鼠标位置
</div>
<script>
const div = document.getElementById('testDiv');
div.addEventListener('click', function (event) {
console.log(`鼠标相对于窗口的水平位置: ${event.clientX}px`);
console.log(`鼠标相对于窗口的垂直位置: ${event.clientY}px`);
});
</script>
</body>
</html>
div
元素时,会在控制台输出鼠标相对于浏览器窗口可视区域的水平和垂直坐标。pageX
和 pageY
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
body {
height: 2000px;
}
</style>
</head>
<body>
<div id="testDiv" style="width: 200px; height: 200px; background-color: lightgreen;">
点击我查看鼠标位置
</div>
<script>
const div = document.getElementById('testDiv');
div.addEventListener('click', function (event) {
console.log(`鼠标相对于文档的水平位置: ${event.pageX}px`);
console.log(`鼠标相对于文档的垂直位置: ${event.pageY}px`);
});
</script>
</body>
</html>
body
的高度,使页面出现滚动条。当用户点击 div
元素时,会在控制台输出鼠标相对于整个文档的水平和垂直坐标,即使页面滚动了,该坐标也会包含滚动条的偏移量。screenX
和 screenY
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<div id="testDiv" style="width: 200px; height: 200px; background-color: lightcoral;">
点击我查看鼠标位置
</div>
<script>
const div = document.getElementById('testDiv');
div.addEventListener('click', function (event) {
console.log(`鼠标相对于屏幕的水平位置: ${event.screenX}px`);
console.log(`鼠标相对于屏幕的垂直位置: ${event.screenY}px`);
});
</script>
</body>
</html>
div
元素时,会在控制台输出鼠标相对于用户屏幕的水平和垂直坐标。button
值 | 对应的按钮 |
---|---|
0 | 主按钮(通常是左键) |
1 | 中间按钮(如果有的话) |
2 | 次按钮(通常是右键) |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<div id="testDiv" style="width: 200px; height: 200px; background-color: lightyellow;">
点击我查看按下的按钮
</div>
<script>
const div = document.getElementById('testDiv');
div.addEventListener('mousedown', function (event) {
let buttonName;
switch (event.button) {
case 0:
buttonName = '左键';
break;
case 1:
buttonName = '中间键';
break;
case 2:
buttonName = '右键';
break;
}
console.log(`你按下的是: ${buttonName}`);
});
</script>
</body>
</html>
div
元素上按下鼠标按钮时,会在控制台输出按下的是哪个按钮。鼠标事件属性为我们提供了丰富的信息,让我们能够根据用户的鼠标操作做出更加灵活和精准的响应。通过 clientX
、clientY
、pageX
、pageY
、screenX
、screenY
可以获取鼠标的位置信息,而 button
属性可以判断用户按下的是哪个鼠标按钮。合理运用这些属性,可以大大提升网页的交互性和用户体验。
希望通过本文的介绍,你对 JavaScript 中事件对象的鼠标事件属性有了更深入的理解。在实际开发中,不妨多尝试使用这些属性,创造出更加精彩的交互效果。
前端 - Javascript
整章节共299节
快分享给你的小伙伴吧 ~