完整的按鍵過程分為兩部分:1。鍵被按下;2.鑰匙被釋放。
當按鈕被按下時,keydown事件發生。
keydown()方法觸發keydown事件,或者指定在keydown事件發生時運行的函數。
& lthtml & gt
& lthead & gt
& lt劇本?type="text/javascript "?src = "/jquery/jquery . js " & gt;& lt/script & gt;
& lt劇本?type = " text/JavaScript " & gt;
$(文檔)。ready(function(){
$(“輸入”)。keydown(function(){
$(“輸入”)。css("背景色"," # FFFFCC ");
});
$(“輸入”)。keyup(function(){
$(“輸入”)。css("background-color "," # D6D6FF ");
});
});
& lt/script & gt;
& lt/head & gt;
& ltbody & gt
進入?妳的?姓名:?& lt輸入?type="text "?/& gt;
& ltp & gt當它發生的時候?按鍵?然後呢。keyup?事件時,輸入字段會改變顏色。請嘗試在其中輸入壹些內容。& lt/p & gt;
& lt/body & gt;
& lt/html & gt;眾所周知,jquery封裝了很多事件交互方法,這裏提到的問題在原生js中也存在。
Keyup是在用戶擡鍵的時候觸發的,屬於整個按鍵過程的最後壹個階段,所以有其特定的用途,就是在左邊輸入,右邊同步顯示的過程中非常有用。典型的例子就是郵件編輯預覽的應用。
& lthtml?xmlns = " http://www . w3 . org/1999/XHTML " & gt;
& lthead & gt
& lttitle & gt沒有標題頁
& lt劇本?src="JS/jquery-1.4.2.js "?type = " text/JavaScript " & gt;& lt/script & gt;
& lt劇本?type = " text/JavaScript " & gt;
$(function()?{
$('#t1 ')。live('keyup ',?函數()?{
$('#v1 ')。文字($(這個)。val());
});
$('#t2 ')。live('keydown ',?函數()?{
$('#v2 ')。文字($(這個)。val());
});
$('#t3 ')。直播('按鍵',?函數()?{
$('#v3 ')。文字($(這個)。val());
});
});
& lt/script & gt;
& lt/head & gt;
& ltbody & gt
& lttextarea?id="t1 " >& lt/textarea & gt;
& ltdiv?id="v1 " >
& lt/div & gt;
& lttextarea?id="t2 " >& lt/textarea & gt;
& ltdiv?id = " v2 " & gt
& lt/div & gt;
& lttextarea?id = " t3 " & gt& lt/textarea & gt;
& ltdiv?id="v3 " >
& lt/div & gt;
& lt/body & gt;
& lt/html & gt;這裏分別應用了三種事件,其中t1可以完全同步到v1,而keypress和keydown總是缺少最後壹個字符,可見這三種事件的差別很小。按下時觸發keydown,無法得到最終的輸入結果,按鍵也是如此。
比如:keydown綁定壹個文本框,每次點擊觸發事件,總是在獲取文本框的值時打印最後壹次操作時文本框的內容。
這是因為在keydown操作後,事件被觸發,但值還沒有顯示在文本框中,所以這種操作只有在keyup完成壹次完整的擊鍵後才能得到文本框的值。
Keydown和keypress更適合通過鍵盤控制頁面類功能的實現。
獲取鍵盤點擊的鍵位:
& lthtml & gt
& lthead & gt
& lt劇本?type="text/javascript "?src = "/jquery/jquery . js " & gt;& lt/script & gt;
& lt劇本?type = " text/JavaScript " & gt;
$(文檔)。ready(function(){
$(“輸入”)。keydown(函數(事件){?
$(“div”)。html("Key:?"?+?event . which);
});
});
& lt/script & gt;
& lt/head & gt;
& ltbody & gt
請隨意鍵入壹些字符:
當您在上面的框中鍵入文本時,會出現以下內容。div?將顯示鑰匙序列號。?
& ltdiv?/& gt;
& lt/body & gt;
& lt/html & gt;