1. 程式人生 > >jQuery(3)——jQuery鍵盤事件

jQuery(3)——jQuery鍵盤事件

jQuery鍵盤事件

- keydown

在鍵盤上按下某鍵時發生,一直按著則會不斷觸發(opera瀏覽器除外),它返回的是鍵盤程式碼;

- keyup

使用者鬆開某一個按鍵時觸發,與keydown相對,返回鍵盤程式碼.

- keypress

在鍵盤上按下一個按鍵,併產生一個字元時發生, 返回ASCII碼。注意: shift、alt、ctrl等鍵按下並不會產生字元,所以監聽無效,換句話說,只有按下能在螢幕上輸出字元的按鍵時keypress事件才會觸發。若一直按著某按鍵則會不斷觸發。

經常配合這些方法使用的是 which 屬性

which

which 屬性指示按了哪個鍵或按鈕。

一個demo,熟悉keydown,keyup,keypress和which的聯絡。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>jQuery鍵盤事件學習</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"
>
</script> <script> $(document).ready(function(){ $("body").keydown( function(event){ $("#right").append("keydown <br>"); $("#left").append(String.fromCharCode(event.which)); //列印字母 //$("#test").append(event.which+"<br>"); //輸出ASCII碼
//alert(event.which) } ); $("body").keyup( function(event){ $("#right").append("keyup <br>"); } ); $("body").keypress( function(event){ $("#right").append("keypress <br>"); } ); })
</script> <style> #main{ width:800px; height: auto; margin:0 auto; border:2px solid green; overflow: hidden; } #left,#right{ width: 396px; height: 300px; background-color: rgb(245, 172, 76); border:2px solid yellow; word-wrap:break-word; } #left,#right{ float:left; } #right{ overflow: auto; } </style> </head> <body> <div id="main"> <div id="left"></div> <div id="right"></div> </div> </body> </html>

線上預覽: