Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> HTML

Đối tượng MouseEvent trong HTML DOM


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):

Đối tượng MouseEvent trong HTML DOM

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

Đối tượng MouseEvent trong HTML DOM

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

Đối tượng MouseEvent trong HTML DOM