位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 捕獲鍵盤響應(yīng)

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-27

■知識(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>

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部