天天看點

滾輪事件和鍵盤事件

一、滾輪事件

onmousewheel

滑鼠滾輪滾動的事件,會在滾輪滾動時觸發,但火狐不支援該屬性。

DOMMouseScroll

在火狐中需要使用DOMMouseScroll來綁定滾動事件,該事件需要通過addEventListener()函數來綁定。

event.wheelDelta

可以擷取滑鼠滾輪滾動的方向,event.wheelDelta > 0 表示向上滾,<0表示向下滾,不支援火狐浏覽器

event.detail

在火狐中使用event.detail來擷取滾動的方向,>0表示向下滾,<0表示向上滾

補充
  • 當滾輪滾動時,如果浏覽器有滾動條,滾動條會随之滾動,這是浏覽器的預設行為,通過return false取消該預設行為
  • 使用addEventListener()綁定的響應函數,取消預設行為不能用return false, 需要使用event.preventDefault()

二、鍵盤事件

鍵盤事件一般都會綁定給一些可以擷取到焦點的對象或者是document

onkeydown

  • 按鍵被按下
  • 對于onkeydown來說,如果一直按着某個鍵不松手,則事件會一直觸發
  • 當onkeydown連續觸發時,第一次按下和第二次按下的時間間隔會稍微長一些,之後的會非常快,這種設計防止誤操作發生

onkeyup

  • 按鍵被松開、

event.keyCode

  • 通過event.keyCode來擷取按鍵的編碼,它的值是按鍵對應的編碼
  • 除了event.keyCode,事件對象中還提供了幾個屬性:
  1. altKey
  2. ctrlKey
  3. shiftKey

    這三個屬性來判斷alt、ctrl、shift是否被按下,如果按下傳回true,否則傳回false。

  • 在文本框中輸入内容,是onkeydown的預設行為,通過return false可以取消預設行為,此時輸入的内容不會出現在文本框中。