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