欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery 前的按鍵判斷代碼

 更新時間:2010年03月19日 11:39:32   作者:  
剛看到個問題,如何得知同時按下了哪幾個鍵以及按鍵順序(難道是格斗游戲的組合鍵?),其實(shí)jQuery實(shí)現(xiàn)起來是很簡單的。
做web開發(fā)的時候,有時候需要根據(jù)鍵盤進(jìn)行一些操作,例如按下Enter的時候提交表單,禁止用戶輸入某些特殊字符,設(shè)置快捷鍵等等。這時候需要找出用戶按下的是那些按鍵,寫個小程序來測試按鍵。

復(fù)制代碼 代碼如下:

$(document).ready(function(){
var $down = $("#down");
var $press = $("#press");
var $up = $("#up");
$(document).keydown(function(event){
$down.append(String.fromCharCode(event.keyCode) + " ");
if (event.ctrlKey) {
alert("ctrl");
}
}).keyup(function(event){
$up.append(String.fromCharCode(event.keyCode) + " ");
}).keypress(function(event){
$press.append(String.fromCharCode(event.keyCode) + " ");
});
});

方法是觸發(fā)down時,把keyCode push到數(shù)組里,并刪除重復(fù)元素;觸發(fā)up時,用$.grep從數(shù)組中刪除該keyCode。
在任意時刻,這個數(shù)組里都保存了當(dāng)前所按的按鍵,并且順序是根據(jù)按鍵順序排列的。
用jQuery判斷當(dāng)前所按的按鍵
方法就是用一個外部的數(shù)組保存當(dāng)前按鍵。
在觸發(fā)keydown時,把keyCode push到數(shù)組里,并刪除重復(fù)元素;觸發(fā)keyup時,用$.grep從數(shù)組中刪除該keyCode。

實(shí)現(xiàn)代碼如下:
復(fù)制代碼 代碼如下:

當(dāng)前按鍵:<span id="msg"></span>
<script type="text/javascript">
Array.prototype.unique = function () { //這個是刪除重復(fù)元素用的,可惜$.unique只能處理DOM數(shù)組。
var o = {};
for (var i = 0, j = 0; i < this.length; ++i) {
if (o[this[i]] === undefined) {
o[this[i]] = j++;
}
}
this.length = 0;
for (var key in o) {
this[o[key]] = key;
}
return this;
};
var $msg = $('#msg');
var keys = [];
$(document).keydown(function(event){
keys.push(event.keyCode);
keys.unique();
$msg.html(keys.join(' '));
}).keyup(function(event){
keys.push(event.keyCode);
keys = $.grep(keys, function (n) {return n != event.keyCode;});
$msg.html(keys.join(' '));
});
</script>

相關(guān)文章

  • 使用jQuery插件創(chuàng)建常規(guī)模態(tài)窗口登陸效果

    使用jQuery插件創(chuàng)建常規(guī)模態(tài)窗口登陸效果

    隱藏模態(tài)窗口技術(shù)是一種很好的解決方案,用于處理不是特有必要出現(xiàn)在網(wǎng)頁上的界面元素,下面與大家分享下如何利用jQuery插件leanModal建立一個常規(guī)模態(tài)窗口
    2013-08-08
  • jQuery原理系列-常用Dom操作詳解

    jQuery原理系列-常用Dom操作詳解

    下面小編就為大家?guī)硪黄猨Query原理系列-常用Dom操作詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • jQuery中的pushStack實(shí)現(xiàn)原理和應(yīng)用實(shí)例

    jQuery中的pushStack實(shí)現(xiàn)原理和應(yīng)用實(shí)例

    這篇文章主要介紹了jQuery中的pushStack實(shí)現(xiàn)原理和應(yīng)用實(shí)例,pushStack是jQuery內(nèi)核中一個非常重要的函數(shù),許多jQuery內(nèi)部函數(shù)中都頻繁用到它,掌握這個函數(shù),有利于理解jQuery的運(yùn)行原理,需要的朋友可以參考下
    2015-02-02
  • jQuery發(fā)送Ajax請求的幾種方法舉例

    jQuery發(fā)送Ajax請求的幾種方法舉例

    Ajax一個向后端發(fā)送請求的方式,下面這篇文章主要給大家介紹了關(guān)于jQuery發(fā)送Ajax請求的幾種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用jQuery具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-06-06
  • jQuery中val()方法用法實(shí)例

    jQuery中val()方法用法實(shí)例

    這篇文章主要介紹了jQuery中val()方法用法,以實(shí)例形式分析了val()方法的兩種常見用法,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • jquery使用animate方法實(shí)現(xiàn)控制元素移動

    jquery使用animate方法實(shí)現(xiàn)控制元素移動

    這篇文章主要介紹了jquery使用animate方法實(shí)現(xiàn)控制元素移動,涉及jQuery中animate方法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • JQuery日歷插件My97DatePicker日期范圍限制

    JQuery日歷插件My97DatePicker日期范圍限制

    這篇文章主要介紹了JQuery日歷插件My97DatePicker日期范圍限制的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • jQuery動態(tài)生成Bootstrap表格

    jQuery動態(tài)生成Bootstrap表格

    這篇文章主要介紹了jQuery動態(tài)生成bootstrap表格的相關(guān)資料,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • jQuery中document與window以及l(fā)oad與ready 區(qū)別詳解

    jQuery中document與window以及l(fā)oad與ready 區(qū)別詳解

    這篇文章主要介紹了jQuery中document與window以及l(fā)oad與ready 區(qū)別詳解,需要的朋友可以參考下
    2014-12-12
  • JQuery的加載和選擇器用法簡單示例

    JQuery的加載和選擇器用法簡單示例

    這篇文章主要介紹了JQuery的加載和選擇器用法,結(jié)合簡單實(shí)例形式分析了jQuery的功能、加載、選擇器的相關(guān)使用技巧,需要的朋友可以參考下
    2019-05-05

最新評論