Javascript subtract (-) keycode

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

Ответы

Ответ 1

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

"-" имеет charCode из 45.

Ответ 3

Не делайте этого в обработчике событий 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

Ответ 5

1.event.keyCode = 109 - '-' на numpad

2.event.keyCode = 189 is'- 'в алфавитном ключевом ключе на хром

3.event.keyCode = 173 is '-' в алфавитном ключевом слове в firefox и на chrome 173 keycord отключен On | Off

Ответ 6

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

function detectSubstract(e)
{
var evtobj=window.event? event : e //distinguish between IE explicit event object (window.event) and Firefox 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