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(); // 禁止輸入空格