EventTarget事件:keypress

2019-01-22 16:28 更新

EventTarget事件 - keypress

注意,keypress事件已棄用,不再推薦使用此功能。雖然某些瀏覽器可能仍然支持它,但它可能已經(jīng)從相關(guān)的Web標(biāo)準(zhǔn)中刪除,或者可能僅為了兼容性目的而保留。避免使用它,并盡可能更新現(xiàn)有代碼;請(qǐng)參閱本頁(yè)底部的兼容性表。請(qǐng)注意,此功能可能隨時(shí)停止運(yùn)行。

按下產(chǎn)生字符值的鍵時(shí)會(huì)觸發(fā)該keypress事件。產(chǎn)生字符值的鍵的示例是字母,數(shù)字和標(biāo)點(diǎn)符號(hào)鍵。不產(chǎn)生字符值的鍵的例子是修飾鍵如Alt,Shift,Ctrl,或Meta。

該keypress事件已被棄用。您可能想要使用beforeinput或keydown替代。

基本信息

接口KeyboardEvent
是否冒泡
是否可取消
目標(biāo)DocumentElement
默認(rèn)操作變化:keypress事件;
啟動(dòng)文本撰寫(xiě)系統(tǒng);
blurfocus事件;
DOMActivate事件;
 其他事件

屬性

屬性類(lèi)型描述
target(只讀)EventTarget事件目標(biāo)(DOM樹(shù)中最頂層的目標(biāo))。
type(只讀)DOMString事件的類(lèi)型。
bubbles(只讀)Boolean事件是否正常冒泡。
cancelable(只讀)Boolean事件是否可以取消。
view(只讀)WindowProxyDocument.defaultViewwindow文件)
detail(只讀)longfloat0。
target(只讀)EventTarget(DOM元素)聚焦元素處理key事件,如果沒(méi)有合適的輸入元素,則根元素。
char(只讀)DOMString(string)
key的字符值。如果key對(duì)應(yīng)于可打印字符,則此值是包含該字符的非空Unicode字符串。如果key沒(méi)有可打印的表示,則為空字符串。
注意:如果該key用作插入多個(gè)字符的宏,則此屬性的值是整個(gè)字符串,而不僅僅是第一個(gè)字符。
key(只讀)DOMString(string)

由事件所表示的key的key值。如果值具有打印表示,則此屬性的值與char屬性相同。否則,它是Key值中指定的key值字符串之一。如果無(wú)法識(shí)別key,則為“Unidentified”字符串。

code(只讀)DOMString(string)保存一個(gè)標(biāo)識(shí)正在按下的物理key的字符串。該值不受當(dāng)前鍵盤(pán)布局或修改器狀態(tài)的影響,因此特定key將始終返回相同的值。
charCode(只讀)unsigned longint
key的Unicode引用號(hào);此屬性?xún)H由keypress事件使用。對(duì)于char屬性包含多個(gè)字符的鍵,這是該屬性中第一個(gè)字符的Unicode值。
警告:不推薦使用此屬性;你應(yīng)該使用char,如果可以的話(huà)。
keyCode(只讀)unsigned longint一種與系統(tǒng)和實(shí)現(xiàn)有關(guān)的數(shù)字代碼,用于標(biāo)識(shí)按下的key的未修改值。這通常是與key對(duì)應(yīng)的十進(jìn)制ASCII(RFC 20)或Windows 1252代碼。如果無(wú)法識(shí)別key,則此值為0。
警告:不推薦使用此屬性;你應(yīng)該使用key,如果可以的話(huà)。
which(只讀)unsigned longint一種與系統(tǒng)和實(shí)現(xiàn)有關(guān)的數(shù)字代碼,用于標(biāo)識(shí)按下的key的未修改值;這通常與keyCode是一樣的
警告:不推薦使用此屬性;你應(yīng)該使用key,如果可以的話(huà)。
location(只讀)longfloatkey在設(shè)備上的位置。
repeat(只讀)Boolean如果一個(gè)key被按下足夠長(zhǎng)的時(shí)間以觸發(fā)按鍵重復(fù),則為true;否則為false。
locale(只讀)DOMStringkey事件的語(yǔ)言代碼(如果有);否則,為空字符串。
ctrlKey(只讀)Boolean如果在觸發(fā)事件時(shí)控制鍵已關(guān)閉,則為true;否則為false
shiftKey(只讀)Boolean如果在事件被觸發(fā)時(shí)shift鍵已關(guān)閉,則為true;否則為false。
altKey(只讀)Boolean如果事件被觸發(fā)時(shí)alt鍵已關(guān)閉,則為true;否則為false。
metaKey(只讀)Boolean如果在觸發(fā)事件時(shí)meta鍵已關(guān)閉,則為true;否則為false

示例

每當(dāng)您按下<input>元素內(nèi)的鍵時(shí),此示例都會(huì)記錄該KeyboardEvent.code值。

HTML

<input placeholder="Click here, then press a key." size="40">
<p id="log"></p>

JavaScript

const input = document.querySelector('input');
const log = document.getElementById('log');

input.addEventListener('keypress', logKey);

function logKey(e) {
  log.textContent += ` ${e.code}`;
}

規(guī)范

DOM L3 

瀏覽器兼容性

Chrome不會(huì)針對(duì)已知的鍵盤(pán)快捷鍵(參考)觸發(fā)keypress事件。哪些鍵盤(pán)快捷鍵已知,取決于用戶(hù)的系統(tǒng)。使用該keydown事件來(lái)實(shí)現(xiàn)鍵盤(pán)快捷鍵。

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)