欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript鍵盤事件測試小結(jié)

lifesinger
August 25th, 2008

測試環(huán)境

測試結(jié)果

輸入法未開啟時(shí) 輸入法開啟時(shí)
Firefox
  1. 正常按下再放起A鍵,會(huì)依次觸發(fā)keydown, keypress, input, keyup
  2. 僅按下修飾鍵(Ctrl/Shift/Alt)時(shí),不會(huì)觸發(fā)keypress. 注意:按下Esc, Insert, Tab, Pause, Left, Up, Enter等鍵時(shí),也會(huì)觸發(fā)keypress. 小結(jié):keypress在按下非字符鍵時(shí),有些會(huì)觸發(fā),有些不會(huì)觸發(fā),具體瀏覽器還不同。
  3. 僅在輸入框的值有變化時(shí),才會(huì)觸發(fā)input. 比如Backspace鍵會(huì)引起值的變化,因此會(huì)觸發(fā)input. 但是要注意:光標(biāo)在輸入值最后面時(shí),按下Delete鍵不會(huì)改變輸入值,但依舊會(huì)觸發(fā)input.
  4. 按住某鍵不放時(shí),會(huì)連續(xù)觸發(fā)keydown. 當(dāng)按下的是會(huì)觸發(fā)keypress的鍵(參考上面第2條)時(shí)候,還會(huì)連續(xù)觸發(fā)keypress. 同樣,如果按下的是會(huì)觸發(fā)input的鍵,也會(huì)連續(xù)觸發(fā)input.
  5. Ctrl+C/V/X快捷鍵粘貼復(fù)制等操作時(shí),會(huì)依次觸發(fā)keydown, keydown, keypress, input, keyup, keyup. 其中input僅在值有變化時(shí)才觸發(fā)(比如粘貼一張圖片到文字輸入框時(shí),不會(huì)觸發(fā)input)。
  6. Ctrl+Z/Y操作時(shí),和第5條規(guī)律一致。
  7. 通過鼠標(biāo)右鍵進(jìn)行粘貼復(fù)制等操作時(shí),僅會(huì)觸發(fā)input.
  1. 輸入法中輸入第一個(gè)字符時(shí),觸發(fā)keydown, keypress. 輸入過程中不會(huì)觸發(fā)鍵盤事件,輸入完成時(shí),會(huì)觸發(fā)input, input, keyup.
  2. 輸入法開啟時(shí),輸入數(shù)字時(shí),和輸入法未開啟時(shí)一致。
IE 和Firefox基本一致,就是input改成propertychange.
注意:
2. 在ie中,僅字符鍵會(huì)觸發(fā)keypress. 這比firefox強(qiáng)。
3. 在ie中,Esc和Backspace功能一樣,這和firefox不同。在ie中,Delete鍵沒有改變值時(shí),不會(huì)觸發(fā)propertychange.
5. 在ie中,Ctrl+C/X/V不會(huì)觸發(fā)keypress.
6. 在ie中,如果監(jiān)聽的事件中YAHOO.log這種頁面輸出的語句時(shí),會(huì)導(dǎo)致Ctrl+Z/Y失效。沒有輸入語句時(shí)不會(huì)。(這可以認(rèn)為是IE的Bug)
  1. 輸入法中輸入第一個(gè)字符時(shí),觸發(fā)keydown, keyup. 輸入過程中也會(huì)連續(xù)觸發(fā)keydown, keyup. 輸入完成時(shí),觸發(fā)keydown, propertychange, keyup. (無論怎樣都不會(huì)觸發(fā)keypress)
  2. 輸入法開啟時(shí),輸入數(shù)字時(shí),和輸入法未開啟時(shí)一樣,但不會(huì)觸發(fā)keypress.
Safari 大部分和Firefox一致。注意以下幾條:
2. 和IE類似,僅字符鍵會(huì)觸發(fā)keypress.
5. 和IE一致。
  1. 輸入法中輸入第一個(gè)字符時(shí),觸發(fā)keydown, input, keyup. 輸入過程中會(huì)連續(xù)觸發(fā)keydown, input, input, keyup. 輸入完成時(shí),觸發(fā)keydown, input, input, keyup. (和IE一樣,不會(huì)觸發(fā)keypress)
  2. 輸入法開啟時(shí),輸入數(shù)字時(shí),和IE一樣,不會(huì)觸發(fā)keypress.
Opera 大部分和Firefox一致。注意以下幾條:
2. 所有鍵都會(huì)觸發(fā)keypress.
4. 連續(xù)按下某鍵時(shí),僅會(huì)連續(xù)觸發(fā)keypress. (這個(gè)處理比其它瀏覽器合理)
5. 多個(gè)keypress.
和上面的瀏覽器都不同,僅在輸入完成時(shí)觸發(fā)input.