MouseEvent: relatedTarget property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Thuộc tính chỉ đọc MouseEvent.relatedTarget là mục tiêu phụ cho sự kiện chuột, nếu có.

Đó là:

Tên sự kiện target relatedTarget
mouseenter EventTarget mà thiết bị trỏ đã đi vào EventTarget mà thiết bị trỏ đã rời khỏi
mouseleave EventTarget mà thiết bị trỏ đã rời khỏi EventTarget mà thiết bị trỏ đã đi vào
mouseout EventTarget mà thiết bị trỏ đã rời khỏi EventTarget mà thiết bị trỏ đã đi vào
mouseover EventTarget mà thiết bị trỏ đã đi vào EventTarget mà thiết bị trỏ đã rời khỏi
dragenter EventTarget mà thiết bị trỏ đã đi vào EventTarget mà thiết bị trỏ đã rời khỏi
dragleave EventTarget mà thiết bị trỏ đã rời khỏi EventTarget mà thiết bị trỏ đã đi vào

Đối với các sự kiện không có mục tiêu phụ, relatedTarget trả về null.

FocusEvent.relatedTarget là một thuộc tính tương tự cho các sự kiện focus.

Giá trị

Một đối tượng EventTarget hoặc null.

Ví dụ

Hãy thử di chuyển con trỏ chuột vào và ra khỏi hộp màu đỏ và xanh lam.

HTML

html
<body id="body">
  <div id="outer">
    <div id="red"></div>
    <div id="blue"></div>
  </div>
  <p id="log"></p>
</body>

CSS

css
#outer {
  width: 250px;
  height: 125px;
  display: flex;
}

#red {
  flex-grow: 1;
  background: red;
}

#blue {
  flex-grow: 1;
  background: blue;
}

#log {
  max-height: 120px;
  overflow-y: scroll;
}

JavaScript

js
const mouseoutLog = document.getElementById("log"),
  red = document.getElementById("red"),
  blue = document.getElementById("blue");

red.addEventListener("mouseover", overListener);
red.addEventListener("mouseout", outListener);
blue.addEventListener("mouseover", overListener);
blue.addEventListener("mouseout", outListener);

function outListener(event) {
  let related = event.relatedTarget ? event.relatedTarget.id : "unknown";

  mouseoutLog.innerText = `\nfrom ${event.target.id} into ${related} ${mouseoutLog.innerText}`;
}

function overListener(event) {
  let related = event.relatedTarget ? event.relatedTarget.id : "unknown";

  mouseoutLog.innerText = `\ninto ${event.target.id} from ${related} ${mouseoutLog.innerText}`;
}

Kết quả

Thông số kỹ thuật

Specification
Pointer Events
# dom-mouseevent-relatedtarget

Khả năng tương thích của trình duyệt

Xem thêm