单击Ctrl或Shift时禁用快捷键 [英] Disable Shortkeys when Ctrl or Shift clicked

查看:139
本文介绍了单击Ctrl或Shift时禁用快捷键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当某些键( Ctrl / Shift )被单击时,我试图禁用所有快捷键.

这是我的快速摘录:

$(document).keyup(function(b) {     

    if (b.keyCode == 16) {return false;}
    if (b.keyCode == 17) {return false;}

    $("body").append(b.keyCode + " ");


});

无论何时单击 Shift 单击 ,密钥代码都不是已打印,但如果单击 Shift + 任何字母 ,则会打印字母的键代码.

示例: http://jsfiddle.net/javascript/K4sCx/7/

解决方案

您可以确定事件对象中是否按下了特殊键".

检测事件对象中的专用键:

if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
alert("you pressed one of the 'Alt', 'Ctrl', or 'Shift' keys")
}

代码示例:

$(document).keyup(function(evtobj) {     
                if (!(evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)){
    if (evtobj.keyCode == 16) {return false;}
                    if (evtobj.keyCode == 17) {return false;}
    $("body").append(evtobj.keyCode + " ");
                }
});

提琴手

I am trying to disable all shortkeys when certain keys (Ctrl/Shift) are clicked.

This is my quick snippet:

$(document).keyup(function(b) {     

    if (b.keyCode == 16) {return false;}
    if (b.keyCode == 17) {return false;}

    $("body").append(b.keyCode + " ");


});

​When ever you click Shift or Click, the keyCode number is not printed but if you click Shift + Any Letter, the keyCode of the letter is printed.

Example: http://jsfiddle.net/javascript/K4sCx/7/

解决方案

You can determine if a "special keys" was pressed in your event Object.

Detecting specizal keys in your event object:

if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
alert("you pressed one of the 'Alt', 'Ctrl', or 'Shift' keys")
}

Code sample:

$(document).keyup(function(evtobj) {     
                if (!(evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)){
    if (evtobj.keyCode == 16) {return false;}
                    if (evtobj.keyCode == 17) {return false;}
    $("body").append(evtobj.keyCode + " ");
                }
});

Fiddler

这篇关于单击Ctrl或Shift时禁用快捷键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆