鍵盤(pán)事件

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            window.onload = function(){
                
                /*
                 * 鍵盤(pán)事件:
                 *  onkeydown
                 *      - 按鍵被按下
                 *      - 對(duì)于onkeydown來(lái)說(shuō)如果一直按著某個(gè)按鍵不松手纸镊,則事件會(huì)一直觸發(fā)
                 *      - 當(dāng)onkeydown連續(xù)觸發(fā)時(shí),第一次和第二次之間會(huì)間隔稍微長(zhǎng)一點(diǎn),其他的會(huì)非常的快
                 *          這種設(shè)計(jì)是為了防止誤操作的發(fā)生炎辨。
                 *  onkeyup
                 *      - 按鍵被松開(kāi)
                 * 
                 *  鍵盤(pán)事件一般都會(huì)綁定給一些可以獲取到焦點(diǎn)的對(duì)象或者是document
                 */
                
                document.onkeydown = function(event){
                    event = event || window.event;
                    
                    /*
                     * 可以通過(guò)keyCode來(lái)獲取按鍵的編碼
                     *  通過(guò)它可以判斷哪個(gè)按鍵被按下
                     * 除了keyCode壹店,事件對(duì)象中還提供了幾個(gè)屬性
                     *  altKey
                     *  ctrlKey
                     *  shiftKey
                     *      - 這個(gè)三個(gè)用來(lái)判斷alt ctrl 和 shift是否被按下
                     *          如果按下則返回true茸塞,否則返回false
                     */
                    
                    //console.log(event.keyCode);
                    
                    //判斷一個(gè)y是否被按下
                    //判斷y和ctrl是否同時(shí)被按下
                    if(event.keyCode === 89 && event.ctrlKey){
                        console.log("ctrl和y都被按下了");
                    }
                    
                    
                };
                
                /*document.onkeyup = function(){
                    console.log("按鍵松開(kāi)了");
                };*/
                
                //獲取input
                var input = document.getElementsByTagName("input")[0];
                
                input.onkeydown = function(event){
                    
                    event = event || window.event;
                    
                    //console.log(event.keyCode);
                    //數(shù)字 48 - 57
                    //使文本框中不能輸入數(shù)字
                    if(event.keyCode >= 48 && event.keyCode <= 57){
                        //在文本框中輸入內(nèi)容派近,屬于onkeydown的默認(rèn)行為
                        //如果在onkeydown中取消了默認(rèn)行為腾节,則輸入的內(nèi)容建瘫,不會(huì)出現(xiàn)在文本框中
                        return false;
                    }
                    
                    
                };
            };
            
            
        </script>
    </head>
    <body>
        
        <input type="text" />
        
    </body>
</html>

練習(xí)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #box1{
                width: 100px;
                height: 100px;
                background-color: red;
                position: absolute;
            }
            
            
        </style>
        
        <script type="text/javascript">
            
            //使div可以根據(jù)不同的方向鍵向不同的方向移動(dòng)
            /*
             * 按左鍵崭捍,div向左移
             * 按右鍵,div向右移
             * 啰脚。殷蛇。。
             */
            window.onload = function(){
                
                //為document綁定一個(gè)按鍵按下的事件
                document.onkeydown = function(event){
                    event = event || window.event;
                    
                    //定義一個(gè)變量橄浓,來(lái)表示移動(dòng)的速度
                    var speed = 10;
                    
                    //當(dāng)用戶按了ctrl以后晾咪,速度加快
                    if(event.ctrlKey){
                        speed = 500;
                    }
                    
                    /*
                     * 37 左
                     * 38 上
                     * 39 右
                     * 40 下
                     */
                    switch(event.keyCode){
                        case 37:
                            //alert("向左"); left值減小
                            box1.style.left = box1.offsetLeft - speed + "px";
                            break;
                        case 39:
                            //alert("向右");
                            box1.style.left = box1.offsetLeft + speed + "px";
                            break;
                        case 38:
                            //alert("向上");
                            box1.style.top = box1.offsetTop - speed + "px";
                            break;
                        case 40:
                            //alert("向下");
                            box1.style.top = box1.offsetTop + speed + "px";
                            break;
                    }
                    
                };
                
            };
            
            
        </script>
    </head>
    <body>
        <div id="box1"></div>
    </body>
</html>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市贮配,隨后出現(xiàn)的幾起案子谍倦,更是在濱河造成了極大的恐慌,老刑警劉巖泪勒,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昼蛀,死亡現(xiàn)場(chǎng)離奇詭異宴猾,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)叼旋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)仇哆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人夫植,你說(shuō)我怎么就攤上這事讹剔。” “怎么了详民?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵延欠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我沈跨,道長(zhǎng)由捎,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任饿凛,我火速辦了婚禮狞玛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘涧窒。我一直安慰自己心肪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布纠吴。 她就那樣靜靜地躺著硬鞍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呜象。 梳的紋絲不亂的頭發(fā)上膳凝,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天碑隆,我揣著相機(jī)與錄音恭陡,去河邊找鬼。 笑死上煤,一個(gè)胖子當(dāng)著我的面吹牛休玩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播劫狠,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼拴疤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了独泞?” 一聲冷哼從身側(cè)響起呐矾,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎懦砂,沒(méi)想到半個(gè)月后蜒犯,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體组橄,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年罚随,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玉工。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡淘菩,死狀恐怖遵班,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情潮改,我是刑警寧澤狭郑,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站进陡,受9級(jí)特大地震影響愿阐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜趾疚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一缨历、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧糙麦,春花似錦辛孵、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至焚廊,卻和暖如春冶匹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咆瘟。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工嚼隘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袒餐。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓飞蛹,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親灸眼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卧檐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容