用法
.keypress( handler ) => jQuery
.keypress( handler ) => jQuery
說明:將事件處理程序綁定到 "keypress" JavaScript 事件,或在元素上觸發該事件。
-
添加的版本:1.0
.keypress( handler )
-
handler每次觸發事件時執行的函數。
-
-
添加的版本:1.4.3
.keypress( [eventData ], handler )
-
eventData類型:Anything包含將傳遞給事件處理程序的數據的對象。
-
handler每次觸發事件時執行的函數。
-
-
添加的版本:1.0
.keypress()
- 此簽名不接受任何參數。
注意:作為keypress
event 沒有被任何官方規範所涵蓋,使用它時遇到的實際行為可能因瀏覽器、瀏覽器版本和平台而異。
此方法是前兩個變體中.on( "keypress", handler )
和第三個變體中.trigger( "keypress" )
的快捷方式。
keypress
當瀏覽器注冊鍵盤輸入時,事件被發送到元素。這類似於keydown
事件,除了修飾符和非打印鍵,例如轉移,Esc鍵, 和刪除扳機keydown
事件但不是keypress
事件。取決於平台和瀏覽器,可能會出現兩個事件之間的其他差異。
keypress
事件處理程序可以附加到任何元素,但事件僅發送到具有焦點的元素。可聚焦元素可能因瀏覽器而異,但表單控件總能獲得焦點,因此是此事件類型的合理候選者。
例如,考慮 HTML:
|
事件處理程序可以綁定到輸入字段:
|
現在,當插入點在字段內時,按一個鍵會顯示日誌:
.keypress() 的處理程序被調用。
要手動觸發事件,請應用不帶參數的.keypress()
:
|
執行此代碼後,單擊觸發處理程序div 也將記錄該消息。
如果需要捕獲任意位置的按鍵(例如,在頁麵上實現全局快捷鍵),將此行為附加到 document
對象很有用。由於事件冒泡,除非明確停止,否則所有按鍵都會沿 DOM 向上到達 document
對象。
要確定輸入了哪個字符,請檢查傳遞給處理函數的event
對象。雖然瀏覽器使用不同的屬性來存儲這些信息,但 jQuery 標準化了 .which
屬性,因此您可以可靠地使用它來檢索字符代碼。
請注意,keydown
和keyup
提供了一個代碼,指示按下了哪個鍵,而keypress
指示輸入了哪個字符。例如,小寫 "a" 將由 keydown
和 keyup
報告為 65,但由 keypress
報告為 97。所有事件都將大寫 "A" 報告為 65。由於這種區別,當捕捉方向鍵等特殊擊鍵時,.keydown()
或 .keyup()
是更好的選擇。
其他注意事項:
- 由於
.keypress()
方法隻是.on( "keypress", handler )
的簡寫,因此可以使用.off( "keypress" )
進行分離。
例子:
在輸入中按下某個鍵時顯示事件對象。注意:此演示依賴於一個簡單的 $.print() 插件 (https://api.jquery.com/resources/events.js) 用於事件對象的輸出。
|
演示:
相關用法
- JQuery .keyup()用法及代碼示例
- JQuery .keydown()用法及代碼示例
- JQuery .jquery用法及代碼示例
- JQuery .scroll()用法及代碼示例
- JQuery .add()用法及代碼示例
- JQuery .contextmenu()用法及代碼示例
- JQuery .undelegate()用法及代碼示例
- JQuery .load()用法及代碼示例
- JQuery .contents()用法及代碼示例
- JQuery .empty()用法及代碼示例
- JQuery UI .labels()用法及代碼示例
- JQuery UI .addClass()用法及代碼示例
- JQuery .click()用法及代碼示例
- JQuery UI .toggleClass()用法及代碼示例
- JQuery .removeAttr()用法及代碼示例
- JQuery .addClass()用法及代碼示例
- JQuery UI .cssClip()用法及代碼示例
- JQuery .next()用法及代碼示例
- JQuery UI .hide()用法及代碼示例
- JQuery .promise()用法及代碼示例
- JQuery .trigger()用法及代碼示例
- JQuery .mouseenter()用法及代碼示例
- JQuery .slideDown()用法及代碼示例
- JQuery UI .show()用法及代碼示例
- JQuery .wrapAll()用法及代碼示例
注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .keypress()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。