jquery 鍵盤(pán)事件 keypress() keydown() keyup()用法總結(jié)
事件的定義
完整的 key press 過(guò)程分為兩個(gè)部分:1. 按鍵被按下;2. 按鍵被松開(kāi)。
當(dāng)按鈕被按下時(shí),發(fā)生 keydown 事件。
keydown() 方法觸發(fā) keydown 事件,或規(guī)定當(dāng)發(fā)生 keydown 事件時(shí)運(yùn)行的函數(shù)。
當(dāng)按鈕被松開(kāi)時(shí),發(fā)生 keyup 事件。它發(fā)生在當(dāng)前獲得焦點(diǎn)的元素上。
keyup() 方法觸發(fā) keyup 事件,或規(guī)定當(dāng)發(fā)生 keyup 事件時(shí)運(yùn)行的函數(shù)。
keypress 事件與 keydown 事件類似。當(dāng)按鈕被按下時(shí),會(huì)發(fā)生該事件。它發(fā)生在當(dāng)前獲得焦點(diǎn)的元素上。
不過(guò),與 keydown 事件不同,每插入一個(gè)字符,就會(huì)發(fā)生 keypress 事件。
keypress() 方法觸發(fā) keypress 事件,或規(guī)定當(dāng)發(fā)生 keypress 事件時(shí)運(yùn)行的函數(shù)。
使用情況:
(which事件)
$("input").keydown(function(event){ $("div").html("Key: " + event.which); });
which 屬性指示按了哪個(gè)鍵或按鈕。(event.keyCode和event.charCode進(jìn)行了標(biāo)準(zhǔn)化。)
1.理論上它可以綁定到任何元素,但keydown/keyup事件只是發(fā)送到具有焦點(diǎn)的元素上,不同的瀏覽器中,可獲得焦點(diǎn)的元素略有不同,但是表單元素總是能獲取焦點(diǎn),所以對(duì)于此事件類型表單元素是最合適的
2.在input元素上綁定keydown事件時(shí)獲取的內(nèi)容都是之前輸入的,當(dāng)前輸入的獲取不到
3.keydown()事件觸發(fā)在文字還沒(méi)有敲進(jìn)文本框,這時(shí)如果在kevdown事件中輸入文本框中的文本,得到的是觸發(fā)鍵盤(pán)事件前的文本
4.keyup()事件觸發(fā)時(shí)整個(gè)鍵盤(pán)事件的操作已經(jīng)完成,獲得的是觸發(fā)鍵盤(pán)事件后的文本
5.keypress()捕獲瀏覽器鍵盤(pán)輸入的時(shí)候
6.keypress事件與keydown和keyup的主要區(qū)別(所以使用組合鍵時(shí)需要使用keydown事件兼容)
- 只能捕獲單個(gè)字符,不能捕獲組合鍵
- 無(wú)法響應(yīng)系統(tǒng)功能鍵(如delete,backspace)
- 不區(qū)分小鍵盤(pán)和主鍵盤(pán)的數(shù)字字符
7.KeyPress主要用來(lái)接收字母、數(shù)字等ANSI字符
8.KeyDown 和 KeyUP 事件過(guò)程可以處理任何不被 KeyPress 識(shí)別的擊鍵,如:功能鍵(F1-F12)、編輯鍵、定位鍵以及任何這些鍵和鍵盤(pán)換檔鍵的組合等
在使用鍵盤(pán)的時(shí)候通常會(huì)用到 Ctrl+shift+alt 類似的組合鍵功能,通過(guò) keyup 事件能夠處理(說(shuō)明一下這里不用keydown事件:因?yàn)樵谂卸╧eydown 的時(shí)候,ctrl、shift、和Alt屬于一直按下?tīng)顟B(tài)然后再加另外一個(gè)鍵是不能準(zhǔn)確捕獲組合鍵,所以使用keydown 是不能準(zhǔn)確判斷的,要通過(guò)keyup事件來(lái)判定)
以上就是本次介紹的關(guān)于jquery 鍵盤(pán)事件函數(shù)的全部知識(shí)點(diǎn)內(nèi)容,更多內(nèi)容可以到相關(guān)欄目查找。
相關(guān)文章
JQuery 無(wú)廢話系列教程(二) jquery實(shí)戰(zhàn)篇上
就進(jìn)入實(shí)戰(zhàn)?是不是太快了?我還不知道怎么用JQuery!! ...2009-06-06文本框只能選擇數(shù)據(jù)到文本框禁止手動(dòng)輸入
文本框只能上人家選擇數(shù)據(jù)進(jìn)去,不能手動(dòng)輸入,經(jīng)搜索研究發(fā)現(xiàn)個(gè)不錯(cuò)的解決方法,感興趣的朋友可以參考下2013-11-11jQuery dataTables與jQuery UI 對(duì)話框dialog的使用教程
這篇文章主要介紹了jQuery dataTables與jQuery UI 對(duì)話框dialog的使用教程的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09如何將 jQuery 從你的 Bootstrap 項(xiàng)目中移除(取而代之使用Vue.js)
Bootstrap是網(wǎng)上最流行的前端開(kāi)發(fā)框架。下面通過(guò)本文給大家分享將 jQuery 從你的 Bootstrap 項(xiàng)目中移除的方法,需要的的朋友參考下吧2017-07-07實(shí)現(xiàn)音樂(lè)播放器的代碼(html5+css3+jquery)
這篇文章主要講實(shí)現(xiàn)音樂(lè)播放器的代碼(html5+css3+jquery),需要的朋友可以參考下2015-08-08jquery選擇checked在ie8普通模式下的問(wèn)題
這篇文章主要介紹了jquery選擇checked在ie8普通模式下的問(wèn)題,需要的朋友可以參考下2014-02-02jQuery滑動(dòng)到底部加載下一頁(yè)數(shù)據(jù)的實(shí)例代碼
這篇文章主要介紹了jQuery滑動(dòng)到底部加載下一頁(yè)數(shù)據(jù)的實(shí)例代碼,需要的朋友可以參考下2017-05-05