1

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;

}

4

1 に答える 1

1

キーダウンイベントをキャンセルして、コマンドが通過しないようにします

document.addEventListener("keydown", function(e){e.preventDefault();return false;}, false);
于 2012-11-07T12:39:32.927 に答える