EventTarget事件:keypress

2019-01-22 16:28 更新

EventTarget事件 - keypress

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

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

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

基本信息

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

屬性

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

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

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

示例

每當(dāng)您按下<input>元素內(nèi)的鍵時,此示例都會記錄該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不會針對已知的鍵盤快捷鍵(參考)觸發(fā)keypress事件。哪些鍵盤快捷鍵已知,取決于用戶的系統(tǒng)。使用該keydown事件來實現(xiàn)鍵盤快捷鍵。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號