JavaScript вычитает (-) код клавиши

хорошо, мне нужен мой код, чтобы проверить, был ли minus/subtract/-нажат, если он был нажат, я хочу окно предупреждений к населению, которое я попробовал обоими 109 и 189 коды клавиши, но я все еще не получаю желаемый результат. хотя я нажимаю "-" я не получаю то окно предупреждений

18
задан PeeHaa 24 November 2013 в 01:54
поделиться

5 ответов

Код JavaScript charCodes , который вы проверяете во время нажатия клавиши, - это ASCII . 109 - правильный keyCode , если он используется в событии keydown или keyup.

«-» имеет charCode из 45.

32
ответ дан 30 November 2019 в 05:50
поделиться

Не делайте этого в обработчике событий keydown - вы полностью зависите от идей разных браузеров о кодах клавиш и возможных различиях между кодами клавиш для разных клавиатур. типы. Сделайте это в событии keypress , и тогда вы сможете вместо этого получить код символа, который вам действительно нужен.

document.onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = evt.which || evt.keyCode;
    var charStr = String.fromCharCode(charCode);
    if (charStr == "-") {
        alert("Minus!");
    }
};

Вся информация, которая может вам когда-либо понадобиться о ключевых событиях JavaScript: http: / /unixpapa.com/js/key.html

9
ответ дан 30 November 2019 в 05:50
поделиться

Вы можете узнать коды клавиш следующим образом:

6
ответ дан 30 November 2019 в 05:50
поделиться

Разместите код. У меня это работает:

document.onkeydown = function (e) {
    if (e.keyCode === 109 || e.keyCode === 189) {
        alert('minus sign pressed');
    }
};

Полный список кодов клавиш здесь: http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes. aspx

5
ответ дан 30 November 2019 в 05:50
поделиться

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

function detectSubstract(e)
{
var evtobj=window.event? event : e //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode
var actualkey=String.fromCharCode(unicode)

    if (actualkey=="-")
    {
        alert('You pressed the minus key')
    }
}
document.onkeypress=detectSubstract
3
ответ дан 30 November 2019 в 05:50
поделиться
Другие вопросы по тегам:

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