Element: dblclick 事件

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

當定點裝置按鈕(例如滑鼠主按鈕)被雙擊時,會觸發 dblclick 事件;也就是說,在很短的時間內對單個元素快速點選兩次。

dblclick 事件在兩次 click 事件之後觸發(因此,在兩對 mousedownmouseup 事件之後觸發)。

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

js
addEventListener("dblclick", (event) => { })

ondblclick = (event) => { }

事件型別

一個 MouseEvent。繼承自 UIEventEvent

Event UIEvent MouseEvent

事件屬性

此介面還繼承其父級 UIEventEvent 的屬性。

MouseEvent.altKey 只讀

如果滑鼠事件觸發時 alt 鍵處於按下狀態,則返回 true

MouseEvent.button 只讀

滑鼠事件觸發時按下的按鈕編號(如果適用)。

MouseEvent.buttons 只讀

滑鼠事件觸發時按下的按鈕(如果有)。

MouseEvent.clientX 只讀

滑鼠指標在視口座標中的 X 座標。

MouseEvent.clientY 只讀

滑鼠指標在視口座標中的 Y 座標。

MouseEvent.ctrlKey 只讀

如果滑鼠事件觸發時 control 鍵處於按下狀態,則返回 true

MouseEvent.layerX 非標準 只讀

返回事件相對於當前圖層的水平座標。

MouseEvent.layerY 非標準 只讀

返回事件相對於當前圖層的垂直座標。

MouseEvent.metaKey 只讀

如果滑鼠事件觸發時 meta 鍵處於按下狀態,則返回 true

MouseEvent.movementX 只讀

滑鼠指標相對於上次 mousemove 事件位置的 X 座標。

MouseEvent.movementY 只讀

滑鼠指標相對於上次 mousemove 事件位置的 Y 座標。

MouseEvent.offsetX 只讀

滑鼠指標相對於目標節點內邊距邊緣位置的 X 座標。

MouseEvent.offsetY 只讀

滑鼠指標相對於目標節點內邊距邊緣位置的 Y 座標。

MouseEvent.pageX 只讀

滑鼠指標相對於整個文件的 X 座標。

MouseEvent.pageY 只讀

滑鼠指標相對於整個文件的 Y 座標。

MouseEvent.relatedTarget 只讀

事件的次要目標(如果存在)。

MouseEvent.screenX 只讀

滑鼠指標在螢幕座標中的 X 座標。

MouseEvent.screenY 只讀

滑鼠指標在螢幕座標中的 Y 座標。

MouseEvent.shiftKey 只讀

如果滑鼠事件觸發時 shift 鍵處於按下狀態,則返回 true

MouseEvent.mozInputSource 非標準 只讀

生成事件的裝置型別(MOZ_SOURCE_* 常量之一)。這可以讓你例如判斷滑鼠事件是由實際的滑鼠還是由觸控事件生成的(這可能會影響你解釋與事件關聯的座標的準確程度)。

MouseEvent.webkitForce 非標準 只讀

點選時施加的壓力大小。

MouseEvent.x 只讀

MouseEvent.clientX 的別名。

MouseEvent.y 只讀

MouseEvent.clientY 的別名。

示例

此示例在雙擊卡片時切換卡片的大小。

JavaScript

js
const card = document.querySelector("aside");

card.addEventListener("dblclick", (e) => {
  card.classList.toggle("large");
});

HTML

html
<aside>
  <h3>My Card</h3>
  <p>Double click to resize this object.</p>
</aside>

CSS

css
aside {
  background: #ffee99;
  border-radius: 1em;
  display: inline-block;
  padding: 1em;
  transform: scale(0.9);
  transform-origin: 0 0;
  transition: transform 0.6s;
  user-select: none;
}

.large {
  transform: scale(1.3);
}

結果

規範

規範
UI 事件
# event-type-dblclick
HTML
# handler-ondblclick

瀏覽器相容性

另見