Отключите сочетания клавиш Internet Explorer

Целая причина у Вас есть специальная Интерфейсная категория типа в дополнение к абстрактным базовым классам в C# / Java, состоит в том, потому что C#/Java не поддерживают множественное наследование.

C++ поддерживает множественное наследование, и таким образом, специальный тип не необходим. Абстрактный базовый класс без некраткого обзора (чистый виртуальный) методы функционально эквивалентен интерфейсу C#/Java.

7
задан hims056 1 August 2012 в 10:59
поделиться

4 ответа

Вы можете попробовать создать обработчик событий для события нажатия клавиши, проверить keyCode и при необходимости предотвратить его действие по умолчанию. Однако это не будет работать во всех браузерах.

Пример для Firefox (отмена короткой клавиши «Печать», проверено):

document.addEventListener("keydown", function(oEvent) {
    if (oEvent.keyCode == 80 && oEvent.ctrlKey)
        oEvent.preventDefault();
}, false)
3
ответ дан 6 December 2019 в 21:18
поделиться

Да, вы можете прослушивать различные комбинации клавиш с помощью javascript и отключить поведение по умолчанию. Есть даже библиотека, которую вы можете использовать и протестировать здесь . Я только что протестировал его с помощью google chrome и firefox в их демонстрационном текстовом поле, и он работает так, как вы хотите.

shortcut.add("Ctrl+P",function() {
    return;
});

Это работает в браузерах, которые я перечислил выше, но IE не позволит вам в некоторых случаях переопределить поведение по умолчанию.

Ваш единственный вариант в IE - полностью отключить клавишу Ctrl с помощью чего-то вроде:

document.onkeydown = function () { 
  if (event.keyCode == 17) alert('Ctrl Key is disabled'); 
};

Это не идеально и, вероятно, не то, что вам нужно, но это будет работать.

4
ответ дан 6 December 2019 в 21:18
поделиться

Я работаю над аналогичной проблемой, событие подключения клавиатуры Приведенный ниже код отлично работает, чтобы отключить, за исключением того, что объект flash в IE не получил фокус. Поскольку я пытаюсь обработать событие клавиатуры на объекте flash, этот код у меня не работает.

function hookKeyboardEvents(e) {
    // get key code
    var key_code = (window.event) ? event.keyCode : e.which;

    // case :if it is IE event
    if (window.event)
    {
        if (!event.shiftKey && !event.ctrlKey) {
            window.event.returnValue = null;
            event.keyCode = 0;
        }
    }
    // case: if it is firefox event
    else
        e.preventDefault();
}

window.document.onkeydown = hookKeyboardEvents;
1
ответ дан 6 December 2019 в 21:18
поделиться

Из вашего приложения после вызова метода по Ctrl + P просто сделайте код клавиши равным нулю. Я думаю, это решит вашу проблему ...

window.event.keyCode = 0;

это установит код клавиши как ноль ... Значит, когда проводник проверяет keyCode, он будет равен нулю ... поэтому функция по умолчанию не будет выполняться ...

Попробуйте это ... просто предложение

1
ответ дан 6 December 2019 в 21:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: