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

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

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

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

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

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