jQuery(3)——jQuery鍵盤事件
阿新 • • 發佈:2018-12-12
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>
線上預覽: