jquery中利用事件屬性which輕鬆獲取鍵盤和滑鼠鍵值

Web開發者發表於2011-12-26

利用jquery event物件上面的which屬性可用輕鬆獲取鍵盤和滑鼠鍵值。event.which 將 event.keyCode 和 event.charCode 標準化了

jquery利用event.which方法如何獲取鍵盤輸入值

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title> jQuery事件屬性which使用例子 - WEB開發者 admin10000.com</title> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript">
$(function(){
$("#txt").keydown(function(event){
	$("#msg").html(event.which);
});
}) 
</script> 
<body> 
<div id="msg"></div>
<input id="txt" type="text" value=""/> 
</body> 
</html>

上例中event為JQuery事件物件,是必需的。規定要檢查的事件。這個 event 引數來自事件繫結函式。
jQuery事件屬性which可以獲取鍵盤的鍵值,which屬性在跨瀏覽器是依然是可靠的。推薦用 event.which 來監視鍵盤輸入,而不是keyCode屬性。
通過keypress事件的which屬性可以獲得可靠地、區分大小寫的字元編碼。但對於非字母符號在跨瀏覽器時是不可靠的。
通過keyup和keydown事件的which屬性,只能獲取不區分大小寫的鍵編碼(所以a和A都返回65),但可以通過檢查shiftKey屬性來確定大小寫。對於非字母符號(例如:左箭頭的編碼是37)能可靠地執行。

jQuery中的which即可以是鍵盤的鍵值,也可以是滑鼠的鍵值。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title> jQuery事件屬性which使用例子 - WEB開發者 admin1000.com</title> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript">
$(function(){
        $(document).mousedown(function(event){
                alert(event.which);
        });
}) 
</script> 
<body>
</body> 
</html>

對於滑鼠事件,事件屬性which也可以獲取滑鼠的鍵值(1為左,2為中,3為右),which屬性以一致的方式跨越多種瀏覽器。因此應該利用which而不是button屬性。
 

相關文件:jquery 事件物件屬性小結 jQuery 實現 Ctrl+Enter 快捷鍵發表評論

相關文章