JavaScript鍵盤事件測試小結)

來源:互聯網
上載者:User
JavaScript鍵盤事件測試小結lifesingerAugust 25th, 2008測試環境
  • 系統:Windows Vista Ultimate SP1
  • IME:Google拼音IME 1.2.30.71
  • IE版本:ie6, ie7, ie8 beta1
  • Firefox版本:2.0.0.16, 3.0.1
  • Safari版本:3.1.2
  • Opera版本:9.51
測試結果
IME未開啟時 IME開啟時
Firefox
  1. 正常按下再放起A鍵,會依次觸發keydown, keypress, input, keyup
  2. 僅按下修飾鍵(Ctrl/Shift/Alt)時,不會觸發keypress. 注意:按下Esc, Insert, Tab, Pause, Left, Up, Enter等鍵時,也會觸發keypress. 小結:keypress在按下非字元鍵時,有些會觸發,有些不會觸發,具體瀏覽器還不同。
  3. 僅在輸入框的值有變化時,才會觸發input. 比如Backspace鍵會引起值的變化,因此會觸發input. 但是要注意:游標在輸入值最後面時,按下Delete鍵不會改變輸入值,但依舊會觸發input.
  4. 按住某鍵不放時,會連續觸發keydown. 當按下的是會觸發keypress的鍵(參考上面第2條)時候,還會連續觸發keypress. 同樣,如果按下的是會觸發input的鍵,也會連續觸發input.
  5. Ctrl+C/V/X快速鍵粘貼複製等操作時,會依次觸發keydown, keydown, keypress, input, keyup, keyup. 其中input僅在值有變化時才觸發(比如粘貼一張圖片到文字輸入框時,不會觸發input)。
  6. Ctrl+Z/Y操作時,和第5條規律一致。
  7. 通過滑鼠右鍵進行粘貼複製等操作時,僅會觸發input.
  1. IME中輸入第一個字元時,觸發keydown, keypress. 輸入過程中不會觸發鍵盤事件,輸入完成時,會觸發input, input, keyup.
  2. IME開啟時,輸入數字時,和IME未開啟時一致。
IE 和Firefox基本一致,就是input改成propertychange.
注意:
2. 在ie中,僅字元鍵會觸發keypress. 這比firefox強。
3. 在ie中,Esc和Backspace功能一樣,這和firefox不同。在ie中,Delete鍵沒有改變值時,不會觸發propertychange.
5. 在ie中,Ctrl+C/X/V不會觸發keypress.
6. 在ie中,如果監聽的事件中YAHOO.log這種頁面輸出的語句時,會導致Ctrl+Z/Y失效。沒有輸入語句時不會。(這可以認為是IE的Bug)
  1. IME中輸入第一個字元時,觸發keydown, keyup. 輸入過程中也會連續觸發keydown, keyup. 輸入完成時,觸發keydown, propertychange, keyup. (無論怎樣都不會觸發keypress)
  2. IME開啟時,輸入數字時,和IME未開啟時一樣,但不會觸發keypress.
Safari 大部分和Firefox一致。注意以下幾條:
2. 和IE類似,僅字元鍵會觸發keypress.
5. 和IE一致。
  1. IME中輸入第一個字元時,觸發keydown, input, keyup. 輸入過程中會連續觸發keydown, input, input, keyup. 輸入完成時,觸發keydown, input, input, keyup. (和IE一樣,不會觸發keypress)
  2. IME開啟時,輸入數字時,和IE一樣,不會觸發keypress.
Opera 大部分和Firefox一致。注意以下幾條:
2. 所有鍵都會觸發keypress.
4. 連續按下某鍵時,僅會連續觸發keypress. (這個處理比其它瀏覽器合理)
5. 多個keypress.
和上面的瀏覽器都不同,僅在輸入完成時觸發input.
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.