JavaScript 捕獲鍵盤響應(yīng)
■知識(shí)點(diǎn)
當(dāng)按下鍵盤鍵時(shí),會(huì)連續(xù)觸發(fā)多個(gè)事件,它們將按順序發(fā)生。
對于字符鍵來說,鍵盤事件的響應(yīng)順序如下。
keydown
keypress
keyup
對于非字符鍵(如功能鍵或特殊鍵)來說,鍵盤事件的響應(yīng)順序如下。
keydown
keyup
如果按下字符鍵不放,則keydown和keypress事件將逐個(gè)持續(xù)發(fā)生,直至松開按鍵。
如果按下非字符鍵不放,則只有keydown事件持續(xù)發(fā)生,直至松開按鍵。
■實(shí)例設(shè)計(jì)
本例演示如何獲取鍵盤事件響應(yīng)順序。
<textarea id="textn cols="26" rows="16"></textarea>
<script>
var n = 1; //定義編號變量
var text = document.getElementByld("text"); //獲取文本區(qū)域的引用指針
text.onkeydown = f ; //注冊keydown事件處理函數(shù)
text.onkeyup = f; //注冊keyup事件處理函數(shù)
text.onkeypress = f ; //注冊keypress事件處理函數(shù)
function f(e){ //事件調(diào)用函數(shù)
var e = e || window.event; //標(biāo)準(zhǔn)化事件對象
text.value += (n++) + "=" + e.type +" (keyCode=" + e.keyCode + ")\n"; //捕獲響應(yīng)信息
}
</script>
點(diǎn)擊加載更多評論>>