JS滑鼠事件有很多,以下是一些常見的例子,並根據其功能進行了大致的分類:
滑鼠點選事件:
- click: 當使用者點選滑鼠左鍵時觸發。這是最常用的點選事件。
- dblclick: 當使用者雙擊滑鼠左鍵時觸發。
- mousedown: 當使用者按下滑鼠按鈕(左鍵、右鍵或中鍵)時觸發。
- mouseup: 當使用者釋放滑鼠按鈕(左鍵、右鍵或中鍵)時觸發。
- contextmenu: 當使用者點選滑鼠右鍵(或在鍵盤上按下上下文選單鍵)時觸發。通常用於顯示自定義右鍵選單,可以透過
preventDefault()
方法阻止預設的上下文選單。
滑鼠移動事件:
- mousemove: 當滑鼠指標在元素上移動時反覆觸發。需要注意的是,這個事件觸發非常頻繁,可能會影響效能,因此應謹慎使用。
- mouseover: 當滑鼠指標從元素外部移入元素內部時觸發。
- mouseout: 當滑鼠指標從元素內部移出元素外部時觸發。
- mouseenter: 當滑鼠指標進入元素時觸發。與
mouseover
的區別在於,mouseenter
不會冒泡。 - mouseleave: 當滑鼠指標離開元素時觸發。與
mouseout
的區別在於,mouseleave
不會冒泡。
滑鼠滾輪事件:
- wheel: 當使用者滾動滑鼠滾輪時觸發。可以獲取滾輪滾動的方向和距離。
- DOMMouseScroll (已棄用,僅限Firefox): Firefox舊版本使用的滾輪事件,現在應該使用
wheel
。
其他滑鼠事件:
- selectstart: 當使用者開始選擇文字時觸發。
- selectend: 當使用者結束選擇文字時觸發。
一個簡單的click
事件例子:
<!DOCTYPE html>
<html>
<head>
<title>Click Event Example</title>
</head>
<body>
<button id="myButton">Click me</button>
<script>
const button = document.getElementById("myButton");
button.addEventListener("click", function() {
alert("Button clicked!");
});
</script>
</body>
</html>
mousemove
事件的例子 (注意效能問題):
<!DOCTYPE html>
<html>
<head>
<title>Mousemove Event Example</title>
</head>
<body>
<div id="myDiv" style="width: 200px; height: 200px; background-color: lightblue;"></div>
<script>
const div = document.getElementById("myDiv");
div.addEventListener("mousemove", function(event) {
console.log("Mouse X: " + event.clientX + ", Mouse Y: " + event.clientY);
});
</script>
</body>
</html>
希望這些例子能幫助你理解JS滑鼠事件。 記住,根據你的具體需求選擇合適的事件型別,並注意潛在的效能問題。