国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery 前的按鍵判斷代碼

2019-11-21 00:39:32
字體:
供稿:網(wǎng)友
做web開發(fā)的時候,有時候需要根據(jù)鍵盤進行一些操作,例如按下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ù)組里都保存了當前所按的按鍵,并且順序是根據(jù)按鍵順序排列的。
用jQuery判斷當前所按的按鍵
方法就是用一個外部的數(shù)組保存當前按鍵。
在觸發(fā)keydown時,把keyCode push到數(shù)組里,并刪除重復(fù)元素;觸發(fā)keyup時,用$.grep從數(shù)組中刪除該keyCode。

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

當前按鍵:<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>
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 潮安县| 馆陶县| 大城县| 天门市| 阿拉善右旗| 堆龙德庆县| 蓝山县| 芦山县| 梅河口市| 昌平区| 南靖县| 同心县| 临夏县| 湾仔区| 炎陵县| 西藏| 成安县| 徐闻县| 邯郸市| 竹山县| 朝阳县| 和田市| 紫金县| 革吉县| 中江县| 葫芦岛市| 卢氏县| 普宁市| 汝南县| 榕江县| 西安市| 墨玉县| 龙里县| 衡阳市| 枣强县| 蒲江县| 河西区| 卢龙县| 固安县| 平顺县| 岚皋县|