Ответ 1
JavaScript charCodes, который вы тестируете во время события нажатия клавиши, ASCII. 109 - правильный keyCode, если он используется в событии keydown или keyup.
"-" имеет charCode из 45.
ok, мне нужен мой код, чтобы проверить, был ли нажат минус/вычитание/-, если он был нажат, я хочу, чтобы окно предупреждения появилось. я пытался с кодами 109
и 189
, но я все еще не получаю желаемого результата. хотя я нажимаю "-"
, я не получаю это окно предупреждения
JavaScript charCodes, который вы тестируете во время события нажатия клавиши, ASCII. 109 - правильный keyCode, если он используется в событии keydown или keyup.
"-" имеет charCode из 45.
Вы можете обнаружить keyCodes следующим образом:
Не делайте этого в обработчике событий 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
Поместите некоторый код. Это работает для меня:
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
1.event.keyCode = 109 - '-' на numpad
2.event.keyCode = 189 is'- 'в алфавитном ключевом ключе на хром
3.event.keyCode = 173 is '-' в алфавитном ключевом слове в firefox и на chrome 173 keycord отключен On | Off
Я надеюсь, что это сработает для вас. Он обнаруживает нажатые клавиши пользователей, и если это тот, который вы ищете, отображает предупреждение, вы можете изменить фактический ключ на любой другой.
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