亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在jQuery中檢測單個按鍵事件上的多個鍵

在jQuery中檢測單個按鍵事件上的多個鍵

隔江千里 2019-08-27 17:14:49
在jQuery中檢測單個按鍵事件上的多個鍵是否可以結合使用按鍵的混合物來發射單個事件?$(document).keyup(function(e){     if (e.keyCode == 68 && e.keyCode == 69 && e.keyCode == 86) {         alert('oh hai');     }});我在Chrome中嘗試過,但事件并未觸發。叫我瘋了,但我正在編寫一個Chrome擴展程序,并希望將D+ E+ V鍵一起推送到隱藏的開發人員模式。
查看完整描述

3 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

如果要檢測的d,ev按鍵均下跌的同時,你必須注意既keydownkeyup,并保持地圖為down的那些的。當他們全部失敗時,解雇你的活動。

例如:Live copy | 資源

var map = {68: false, 69: false, 86: false};$(document).keydown(function(e) {
    if (e.keyCode in map) {
        map[e.keyCode] = true;
        if (map[68] && map[69] && map[86]) {
            // FIRE EVENT
        }
    }}).keyup(function(e) {
    if (e.keyCode in map) {
        map[e.keyCode] = false;
    }});

我假設你不關心他們被壓下的順序(因為這可能是一種痛苦,可靠地按下),只要他們在某個時刻同時處于同一時間。


查看完整回答
反對 回復 2019-08-27
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

與Vega相似......但更簡單

var down = {};$(document).keydown(function(e) {
    down[e.keyCode] = true;}).keyup(function(e) {
    if (down[68] && down[69] && down[86]) {
        alert('oh hai');
    }
    down[e.keyCode] = false;});


查看完整回答
反對 回復 2019-08-27
?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

也許更簡單的組合鍵會更容易?

Shift + Alt + D怎么樣?(您可能不應該使用Control鍵,因為大多數瀏覽器已經以某種方式解釋Ctrl + D)

這個代碼是這樣的:

if(e.shiftKey && e.altKey && e.keyCode == 68){
  alert('l33t!');}


查看完整回答
反對 回復 2019-08-27
  • 3 回答
  • 0 關注
  • 397 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號