Как обнаружить @ в keydown или нажатие клавиш в jquery

0

Я пытался использовать событие нажатия клавиш или keydown на "@", чтобы создать раскрывающийся список в div contenteditale. Но я не нашел ключевой код для "@", и я не могу использовать shift и 2 beacause, это будет проблемой для многих раскладок клавиатуры, включая раскладку клавиатуры для мобильных устройств

Теги:

1 ответ

2
Лучший ответ

Вы можете искать ключевой код для @, который является десятичным числом 64 в jQuery e.which:

$(document).on("keypress", function(e) {
    // look for @ key
    if (e.which === 64) {
        alert("@ key pressed");
    }
});

Рабочая демонстрация: http://jsfiddle.net/jfriend00/s7KGb/


Вы могли бы также кодировать его так, как это может быть немного более читаемым:

$(document).on("keypress", function(e) {
    // look for @ key
    if (String.fromCharCode(e.which) === '@') {
        alert("@ key pressed");
    }
});
  • 0
    Примечание: String.fromCharCode(e.which) вернет точный символ. PS: это jQuery, which developer.mozilla.org/en-US/docs/Web/API/event.which ?
  • 1
    @zerkms - jQuery нормализует браузерные различия между event.keyCode и event.charCode и помещает согласованный результат в event.which . Смотрите описание jQuery здесь . Это также может быть чем-то, что делают некоторые версии Firefox, но это не является частью какого-либо стандарта и, конечно, это не то, что вы можете использовать во всех браузерах без посредника, такого как jQuery.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню