Giới thiệu
HTML DOM MouseEvent Object đại diện cho một sự kiện xảy ra khi người dùng tương tác với chuột trên các phần tử tài liệu HTML.
Các thuộc tính và phương thức chính
| Thuộc tính/Phương thức | Mô tả |
|---|---|
| altKey | Trả về true nếu phím ALT được nhấn khi sự kiện chuột xảy ra. |
| button | Trả về số chỉ nút chuột nào được nhấn (0: trái, 1: giữa, 2: phải). |
| buttons | Trả về các nút chuột đang được nhấn (bitmask). |
| clientX | Tọa độ X của con trỏ chuột tương đối viewport. |
| clientY | Tọa độ Y của con trỏ chuột tương đối viewport. |
| ctrlKey | Trả về true nếu phím CTRL được nhấn. |
| getModifierState() | Trả về true nếu phímmodifier được kích hoạt. |
| metaKey | Trả về true nếu phím META (Command/Windows) được nhấn. |
| movementX | Độ dịch chuyển X so với sự kiện mousemove trước. |
| movementY | Độ dịch chuyển Y so với sự kiện mousemove trước. |
| offsetX | Tọa độ X tương đối cạnh phần tử mục tiêu. |
| offsetY | Tọa độ Y tương đối cạnh phần tử mục tiêu. |
| pageX | Tọa độ X tương đối tài liệu (document). |
| pageY | Tọa độ Y tương đối tài liệu. |
| relatedTarget | Phần tử HTML liên quan (cho mouseover/mouseout). |
| screenX | Tọa độ X tương đối màn hình thiết bị. |
| screenY | Tọa độ Y tương đối màn hình thiết bị. |
| shiftKey | Trả về true nếu phím SHIFT được nhấn. |
| which | Nút chuột được nhấn (giống button, nhưng deprecated). |
Các sự kiện chuột (Mouse Events)
| Sự kiện | Mô tả |
|---|---|
| onclick | Xảy ra khi người dùng click vào phần tử. |
| oncontextmenu | Xảy ra khi click chuột phải để mở menu ngữ cảnh. |
| ondblclick | Xảy ra khi double-click vào phần tử. |
| onmousedown | Xảy ra khi nhấn nút chuột xuống trên phần tử. |
| onmouseenter | Xảy ra khi con trỏ di chuyển vào phần tử (không bubble). |
| onmouseleave | Xảy ra khi con trỏ di chuyển ra khỏi phần tử (không bubble). |
| onmousemove | Xảy ra khi con trỏ di chuyển khi đang trên phần tử. |
| onmouseout | Xảy ra khi con trỏ rời khỏi phần tử hoặc con của nó (bubble). |
| onmouseover | Xảy ra khi con trỏ di chuyển vào phần tử hoặc con của nó (bubble). |
| onmouseup | Xảy ra khi thả nút chuột trên phần tử. |
Ví dụ 1: clientX/clientY (Game di chuột)
Tương tự ví dụ ở bài clientX property.
Ví dụ 2: relatedTarget (onmouseout)
Ví dụ hiển thị ID của phần tử đang được hover khi rời khỏi container.
<!DOCTYPE html> <html> <head> <title>MouseEvent onmouseout</title> <style>
* { padding: 2px; margin:5px; }
form { width:70%; margin: 0 auto; text-align: center; }
#outer { width:70%; margin: 0 auto; padding: 0; text-align: center; border:1px solid black; height: 105px; background-color: #28a745; }
input[type="button"] { border-radius: 10px; }
#upper { border-bottom: 1px solid black; height: 40px; margin: 0 0 15px 0; background-color: #DC3545; }
#lower { border-top: 1px solid black; height: 40px; margin: 15px 0 0 0; background-color: #DC3545; }
</style> </head> <body>
<form>
<fieldset>
<legend>MouseEvent-onmouseout</legend>
<div id="outer" onmouseout="gameStart(event)">
<div id="upper"><h2>Danger</h2></div>
<div id="lower"><h2>Danger</h2></div>
</div>
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
function gameStart(event) {
var fetchedID = event.relatedTarget.id;
if(fetchedID !== '')
divDisplay.textContent = 'You are hovering over ' + fetchedID + ' <div> element';
}
</script> </body> </html>
Kết quả
Hover vùng xanh (an toàn):

Hover vùng đỏ trên (nguy hiểm):

Hover vùng đỏ dưới (nguy hiểm):
