Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
添加微信公眾號(hào)《Linux就該這么學(xué)》,掌握最新IT資訊動(dòng)態(tài),免費(fèi)領(lǐng)取Linux課程以及專業(yè)的RHCE考前答疑服務(wù)。
《Linux就該這么學(xué)》在線免費(fèi)閱讀地址:http://www.linuxprobe.com/
我們先從瀏覽器按鍵時(shí)間說起,
用JavaScript實(shí)現(xiàn)鍵盤記錄,要關(guān)注瀏覽器的三種按鍵事件類型,
它們分別對(duì)應(yīng)onkeydown、 onkeypress和onkeyup這三個(gè)事件句柄。一個(gè)典型的按鍵會(huì)產(chǎn)生所有這三種事件,依次是keydown,keypress,然后是按鍵釋放時(shí)候的keyup。
KeyDown:在控件有焦點(diǎn)的情況下按下鍵時(shí)發(fā)生。
KeyPress:在控件有焦點(diǎn)的情況下按下鍵時(shí)發(fā)生。
KeyUp:在控件有焦點(diǎn)的情況下釋放鍵時(shí)發(fā)生。
在這3種事件類型中,keydown和keyup比較底層,而keypress比較高級(jí)。這里所謂的高級(jí)是指,當(dāng)用戶按下shift + 1時(shí),keypress是對(duì)這個(gè)按鍵事件進(jìn)行解析后返回一個(gè)可打印的“!”字符,而keydown和keyup只是記錄了shift + 1這個(gè)事件。
但是keypress只能針對(duì)一些可以打印出來的字符有效,而對(duì)于功能按鍵,如F1-F12、Backspace、Enter、Escape、 PageUP、PageDown和箭頭方向等,就不會(huì)產(chǎn)生keypress事件,但是可以產(chǎn)生keydown和keyup事件。然而在FireFox中,功能按鍵是可以產(chǎn)生keypress事件的。
傳遞給keydown、keypress和keyup事件句柄的事件對(duì)象有一些通用的屬性。如果Alt、Ctrl或Shift和一個(gè)按鍵一起按下,這通過事件的altKey、ctrlKey和shiftKey屬性表示,這些屬性在FireFox和IE中是通用的。
注意:
KeyDown觸發(fā)后,不一定觸發(fā)KeyUp,當(dāng)KeyDown 按下后,拖動(dòng)鼠標(biāo),那么將不會(huì)觸發(fā)KeyUp事件。
KeyPress主要用來捕獲數(shù)字(注意:包括Shift+數(shù)字的符號(hào))、字母(注意:包括大小寫)、小鍵盤等 除了 F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜單鍵}、{開始鍵}和方向鍵 外的ANSI字符
KeyPress 只能捕獲單個(gè)字符,可以捕獲單個(gè)字符的大小寫,不區(qū)分小鍵盤和主鍵盤的數(shù)字字符。
KeyDown 和KeyUp 通??梢圆东@鍵盤除了PrScrn(截屏)所有按鍵
KeyDown 和KeyUp 可以捕獲組合鍵,對(duì)于單個(gè)字符捕獲的KeyValue 都是一個(gè)值,也就是不能判斷單個(gè)字符的大小寫,區(qū)分小鍵盤和主鍵盤的數(shù)字字符。
其中PrScrn 按鍵KeyPress、KeyDown和KeyUp 都不能捕獲。
keydown、keypress 按著不動(dòng)會(huì)持續(xù)執(zhí)行事件,keyup執(zhí)行一次
在使用鍵盤的時(shí)候,通常會(huì)使用到CTRL+SHIFT+ALT 類似的組合鍵功能,通過KeyUp 事件能夠來處理(這里說明一下為什么不用KeyDown,因?yàn)樵谂卸↘eyDown的時(shí)候,CTRL、SHIFT和ALT 屬于一直按下狀態(tài),然后再加另外一個(gè)鍵是不能準(zhǔn)確捕獲組合鍵,所以使用KeyDown 是不能準(zhǔn)確判斷出的,要通過KeyUp 事件來判定 )
前端架構(gòu)暴力拆解,源碼解析,多年經(jīng)驗(yàn)分享,請(qǐng)持續(xù)關(guān)注!
純手工打造每一篇開源資訊與技術(shù)干貨,數(shù)十萬程序員和Linuxer已經(jīng)關(guān)注。
導(dǎo)讀 | 致力于兼容Windows應(yīng)用和驅(qū)動(dòng)開發(fā)的免費(fèi)開源操作系統(tǒng)ReactOS幕后團(tuán)隊(duì)今天非常開心的宣布0.4.3版本。 |
和此前版本ReactOS 0.4.2相隔三個(gè)月時(shí)間,是0.4系列分支下的第三個(gè)維護(hù)版本,共計(jì)修復(fù)了由用戶報(bào)告或者開發(fā)團(tuán)隊(duì)自己發(fā)現(xiàn)的342處BUG和問題,同時(shí)0.4.3也引入了新功能,例如部署了全新的Winsock庫(kù)。
在今天的聲明中寫道:“在正式取代老的Winsock庫(kù)之前依然還有很多的工作需要完成,目前主要由 Peter Hater和Andreas Maier兩人負(fù)責(zé)推進(jìn)。他們的努力今天終于取得了階段性成果,團(tuán)隊(duì)經(jīng)過商量決定取代此前的庫(kù),0.4.3將會(huì)成為首個(gè)包含新庫(kù)的發(fā)行版本。”
啟用全新Winsock庫(kù)對(duì)于ReactOS用戶來說無疑是重大新聞,承諾在用戶模式應(yīng)用中更高效的支持所有網(wǎng)絡(luò)操作,改善了類似于GoG(Good old Games)和新版Python runtime的兼容性。ReactOS 0.4.3同時(shí)還改善了NTVDM系統(tǒng)組件的實(shí)施。
原文來自: http://www.cnbeta.com/articles/558875.htm
本文地址: http://www.linuxprobe.com/reactos-0_4_3-publish.html編輯:楊鵬飛,審核員:岳國(guó)帥
點(diǎn)擊左下角查看更多熱門技術(shù)
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。