探索在JavaScript中處理鼠標事件的基礎
查看更多JavaScript事件
在查看鼠標事件時,我們可以與之交互
mousedown
按下鼠標按鈕mouseup
釋放鼠標按鈕click
點擊事件dblclick
雙擊事件mousemove
當鼠標移到元素上時mouseover
當鼠標移到一個元素或其子元素之一上時mouseenter
當鼠標移到元素上時。如同mouseover
但不會冒泡(稍後會詳細介紹!)mouseout
當鼠標移出元素時,以及當鼠標進入子元素時mouseleave
當鼠標移出元素時。如同mouseout
但不會冒泡(稍後會詳細介紹!)contextmenu
打開上下文菜單時,例如,在鼠標右鍵上單擊
事件重疊。當您追踪一個click
事件,就像跟踪mousedown
跟一個mouseup
事件。如果是dblclick
,click
也被解雇了兩次。
mousedown
,mousemove
和mouseup
可以組合使用以跟踪拖放事件。
小心mousemove
,因為它在鼠標移動過程中會多次觸發。我們需要申請節流,這是我們在分析滾動時會談論的更多內容。
在一個偶數處理程序中,我們可以訪問許多屬性。
例如,在發生鼠標事件時,我們可以通過檢查button
事件對象的屬性:
const link = document.getElementById('my-link')
link.addEventListener('mousedown', event => {
// mouse button pressed
console.log(event.button) //0=left, 2=right
})
這是我們可以使用的所有屬性:
altKey
如果在觸發事件時按了alt鍵,則為truebutton
如果有的話,則觸發鼠標事件時按下的按鈕編號(通常為0 =主按鈕,1 =中間按鈕,2 =右鍵)。對通過單擊按鈕引起的事件起作用(例如,單擊)buttons
如果有的話,一個數字,指示在任何鼠標事件上按下的按鈕。clientX
/clientY
鼠標指針相對於瀏覽器窗口的x和y坐標,與滾動無關ctrlKey
如果在觸發事件時按了ctrl鍵,則為truemetaKey
如果觸發事件時按下了meta鍵,則返回truemovementX
/movementY
鼠標指針相對於上一個mousemove事件的位置的x和y坐標。用於在移動鼠標時跟踪鼠標速度region
在Canvas API中使用relatedTarget
事件的次要目標,例如在移動時screenX
/screenY
屏幕坐標中鼠標指針的x和y坐標shiftKey
如果在觸發事件時按下了Shift鍵,則為true
免費下載我的JavaScript初學者手冊
更多瀏覽器教程:
- HTML5提供了一些有用的技巧
- 我如何使基於CMS的網站脫機工作
- 漸進式Web應用程序完整指南
- 提取API
- 推送API指南
- 頻道消息傳遞API
- 服務人員教程
- 緩存API指南
- 通知API指南
- 深入IndexedDB
- Selectors API:querySelector和querySelectorAll
- 通過延遲和異步有效地加載JavaScript
- 文檔對像模型(DOM)
- Web存儲API:本地存儲和會話存儲
- 了解HTTP Cookies的工作原理
- 歷史API
- WebP圖像格式
- XMLHttpRequest(XHR)
- 深入的SVG教程
- 什麼是數據網址
- 學習網絡平台的路線圖
- CORS,跨域資源共享
- 網絡工作者
- requestAnimationFrame()指南
- 什麼是Doctype
- 使用DevTools控制台和控制台API
- 語音合成API
- 如何在純JavaScript中等待DOM ready事件
- 如何將類添加到DOM元素
- 如何遍歷來自querySelectorAll的DOM元素
- 如何從DOM元素中刪除類
- 如何檢查DOM元素是否具有類
- 如何更改DOM節點值
- 如何將click事件添加到從querySelectorAll返回的DOM元素列表中
- WebRTC,實時Web API
- 如何在JavaScript中獲取元素的滾動位置
- 如何替換DOM元素
- 如何只接受輸入文件字段中的圖像
- 為什麼要使用瀏覽器的預覽版?
- 斑點對象
- 文件對象
- FileReader對象
- FileList對象
- ArrayBuffer
- ArrayBufferView
- URL對象
- 類型數組
- DataView對象
- BroadcastChannel API
- Streams API
- FormData對象
- 導航器對象
- 如何使用地理位置API
- 如何使用getUserMedia()
- 如何使用拖放API
- 如何在網頁上滾動
- 在JavaScript中處理表單
- 鍵盤事件
- 鼠標事件
- 觸摸事件
- 如何從DOM元素中刪除所有子級
- 如何使用原始Javascript創建HTML屬性
- 如何檢查是否使用JavaScript選中了複選框?
- 如何使用JavaScript複製到剪貼板
- 如何使用JavaScript禁用按鈕
- 如何在瀏覽器中使頁面可編輯
- 如何使用URLSearchParams在JavaScript中獲取查詢字符串值
- 如何一次刪除頁面上的所有CSS
- 如何使用insertAdjacentHTML
- Safari,退出前警告
- 如何使用JavaScript將圖像添加到DOM
- 如何重設表格
- 如何使用Google字體