Подтвердить что ты не робот

Как обойти функцию быстрого поиска Firefox и захватить нажатие клавиши косой черты

Я забираю значение нажатия клавиши '191' для косой черты (/) для функции на моем сайте. Работает отлично в каждом браузере, кроме Firefox, благодаря функции быстрого поиска. "191" все еще регистрируется и выполняется действие (сфокусируйтесь на поле ввода, всплывающей подсказке), но основное внимание уделяется Быстрый поиск.

Я читаю в другом вопросе StackOverflow, говорящем, что Firefox фиксирует косую черту как код символа "0", но ничего не сделал.

Есть ли способ игнорировать быстрый поиск Firefox и получить контроль над обратной косой чертой? Использование JavaScript и jQuery.

4b9b3361

Ответ 1

Я согласен с тем, что важно задать вопрос, следует ли использовать этот ярлык. Однако, если вы решите (как и другие) использовать этот ярлык для поиска в gmail, вам просто нужно зафиксировать событие keydown документа (не нажатие клавиши или keyup), а затем предотвратить действие по умолчанию, которое будет перехватывать во времени, чтобы остановить по умолчанию поведение firefox. Кроме того, убедитесь, что пользователь еще не вводит текстовое поле. Вот краткий пример:

$(document).keydown(function(e) {
    var _target = $(e.target);
    var _focused = $(document.activeElement);
    var _inputting = _focused.get(0).tagName.toLowerCase()==="textarea" || _focused.get(0).tagName.toLowerCase()==="input";

    // / (forward slash) key = search
    if (!_inputting && e.keyCode===191) {
        e.preventDefault();
        $("#search-input").focus();
        return;
    }
});