【问题标题】:Keyboard freezing in web application using javascript使用javascript在Web应用程序中冻结键盘
【发布时间】:2012-11-07 12:35:51
【问题描述】:

如何在 Web 应用程序中冻结键盘?我曾尝试冻结快捷方式,但它只显示警报,这是在冻结功能中定义的。但是冻结操作不起作用

function disableCtrlKeyCombination(e)
{
    //list all CTRL + key combinations you want to disable
    var forbiddenKeys = new Array('a', 'n', 'c', 'x', 'v', 'j');
    var key;
    var isCtrl;

    if(window.event)
    {
            key = window.event.keyCode;     //IE
            if(window.event.ctrlKey)
                    isCtrl = true;
            else
                    isCtrl = false;
    }

    else
    {
            key = e.which;     //firefox
            if(e.ctrlKey)
                    isCtrl = true;
            else
                    isCtrl = false;
    }

    //if ctrl is pressed check if other key is in forbidenKeys array
    if(isCtrl)
    {
        for(i = 0 ; i < forbiddenKeys.length ; i++)
            {

                    //case-insensitive comparation
                    if(forbiddenKeys[i].toLowerCase() == String.fromCharCode(key).toLowerCase())
                    {
                             alert('Key combination CTRL + '
                                    +String.fromCharCode(key)
                                    +' has been disabled.'); 
                            return false;
                    }
            }
    }       
    return true;

}

【问题讨论】:

  • 向我们展示代码,我们可以提供帮助
  • 以上是我使用的代码

标签: javascript keyboard keyboard-shortcuts


【解决方案1】:

取消keydown事件以防止命令通过

document.addEventListener("keydown", function(e){e.preventDefault();return false;}, false);

【讨论】:

    猜你喜欢
    • 2017-04-02
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2021-02-02
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    相关资源
    最近更新 更多