1. onclick
(鼠标单击事件)
触发条件:用户用鼠标左键单击元素时触发
使用场景:按钮操作、菜单展开/关闭、提交表单等
示例代码:
<button id="myButton">点击我</button> <script>document.getElementById("myButton").onclick = function() {alert("按钮被点击了!");}; </script>
2. ondblclick
(鼠标双击事件)
触发条件:用户快速连续两次单击元素(双击)
使用场景:编辑内容、放大图片、特殊快捷操作
注意:避免和
onclick
冲突(双击时会先触发两次单击事件)示例:
element.ondblclick = () => {element.style.fontSize = "24px"; // 双击放大文字 };
3. onmouseover
(鼠标移入事件)
触发条件:鼠标指针进入元素区域时触发
特性:会冒泡(子元素触发时会传播到父元素)
使用场景:显示工具提示、高亮元素
element.onmouseover = () => {element.style.backgroundColor = "yellow";
};
4. onmouseout
(鼠标移出事件)
触发条件:鼠标指针离开元素区域时触发
特性:会冒泡
使用场景:恢复元素样式、隐藏提示框
element.onmouseout = () => {element.style.backgroundColor = ""; };
5. onmouseenter
(鼠标进入事件)
触发条件:鼠标指针进入元素区域时触发(类似
onmouseover
)关键区别:不冒泡(只在当前元素触发,不传播到父元素)
使用场景:需要精准控制目标元素时
// 父元素不会收到子元素的 enter/leave 事件
parent.onmouseenter = () => console.log("父元素触发");
child.onmouseenter = () => console.log("子元素触发");
6. onmouseleave
(鼠标离开事件)
触发条件:鼠标指针离开元素区域时触发
关键区别:不冒泡
使用场景:与
onmouseenter
配对使用
element.onmouseleave = () => {resetElementStyle(); // 离开时重置样式
};
7. onkeydown
(键盘按下事件)
触发条件:键盘按键被按下瞬间触发
关键特性:
可检测所有键(包括功能键 Ctrl/Shift/Alt 等)
按住不放会连续触发
获取按键信息:
inputField.onkeydown = (event) => {console.log("按下的键:" + event.key); // 键名(如 "Enter")console.log("键码:" + event.keyCode); // 已弃用,但仍有使用console.log("组合键:" + event.ctrlKey); // 是否按了Ctrl
};
使用场景:快捷键、输入验证、游戏控制
阻止默认行为(如阻止输入):
if(event.key === " ") event.preventDefault(); // 禁止输入空格