Jquery鍵盤事件實例1

    //document的鍵盤事件
            //鍵盤事件參數
            //e.charCode:最後響應鍵盤按鍵的鍵值
            //e.keyCode: 最後響應鍵盤按鍵的鍵值
            //e.ctrlKey,e.shiftKey,e.altKey:判斷組合鍵時,是否按下

            //輸出鍵盤的ASCII值
            //鍵值:(a:65   z:90),(0:48   9:57),(tab:9  enter:13,  ctrl:17  shift:16  alt:18  空格:32  )

            $(document).keydown(function(e){
                alert(e.keyCode);
            });


            //鍵值(a:97  z:122),(0:48  9:57)

            $(document).keypress(function(e){
                alert(e.keyCode);
            });



            //方向鍵判斷,(上:38  下40: 左:37   右:39)

            $(document).keydown(function(e){
                if(e.keyCode ==37){
                    alert("當前是左");
                }
                elseif(e.keyCode ==38){
                    alert("當前是上");
                }
                elseif(e.keyCode ==39){
                    alert("當前是右");
                }
                elseif(e.keyCode ==40){
                    alert("當前是下");
                }
            })

            //組合鍵判斷

            $(document).keydown(function(e){
                //ctrl+enter
                if(e.ctrlKey && e.keyCode ==13){
                    alert("ctrl+enter組合鍵觸發");
                }

                //ctrl+alt
                if(e.ctrlKey && e.altKey){
                    alert("ctrl+alt組合鍵觸發");
                }

                //ctrl+alt+enter
                if(e.ctrlKey && e.altKey && e.keyCode ==13){
                    alert("ctrl+alt+enter組合鍵觸發");
                }

                //ctrl+shift+delete
                if(e.ctrlKey && e.shiftKey && e.keyCode ==46){
                    alert("ctrl+shif+delete組合鍵觸發");
                }
            });


            //獲取鍵盤字符
            //e.charCode:在keydown事件中總爲0,在keypress事件中爲e.keyCode
            //e.char:在keydown事件和keypress事件中返回相同都是返回字符

$(document).keydown(function(e){
alert(e.charCode);
});
$(document).keypress(function(e){
alert(e.charCode);
});

$(document).keydown(function(e){
alert(e.char);
});

$(document).keypress(function(e){
alert(e.charCode);
});

            //鍵盤事件的觸發順序
            //使用彈出對話框的方式檢測,不靠譜
            //在三個事件都註冊的情況先:先觸發keydown,在觸發keypress,沒有觸發keyup
            //只有在keydown和keypress沒有註冊的時候纔會觸發keyup

$(document).keydown(function(e){
alert("keydown");
});
$(document).keypress(function(e){
alert("keypress");
});
$(document).keyup(function(){
alert("keyup");
});

var str ="";
$("#txtOne").keydown(function(e){
str +="keydown----->";
});
$("#txtOne").keypress(function(e){
str +="keypress----->";
});
$("#txtOne").keyup(function(){
str +="keyup----->";
alert(str);
});

            //鍵盤事件的完成
            //判斷輸入的是否是數字,否則自動完成事件不顯示內容(適用於非中文輸入法)

$("#txtOne").keypress(function(e){
if(e.keyCode >=48&& e.keyCode <=57){

}
else{
alert("輸入的不是數字");
e.preventDefault();
}
});

       //判斷輸入的是否是數字,否則自動完成事件不顯示內容(適用於中文輸入法和其他)

$("#txtOne").keydown(function(e){
if(e.keyCode >=48&& e.keyCode <=57){

}
else{
alert("輸入的不是數字");
e.preventDefault();
}
});

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章