Javascript конвертировать строку в комбинацию клавиш Alt
В JS у меня может быть этот ярлык для запуска события:
alt + s
я имею s
из варианта. Как мне конвертировать s
на правильный номер, представляющий букву?
В моем коде у меня будет что-то вроде этого, но замените 98 на функцию, которая генерирует число из функции со строкой в качестве ввода.
if (e.altKey && e.keyCode == 98) {
}
ОБНОВИТЬ
Я пробовал это, но он дает неправильный код ключа:
var _stringToKey = function() {
string = '{{key}}';
return parseInt( string.charCodeAt(0) );
}
{{ключ}} заменяется письмом из PHP.
Sidenote Я не хочу полагаться на еще один плагин JS.
2 ответа
Решение
.charCodeAt(n)
работает на персонажа. e.keyCode
работает на ключе.
A
знак равно a
, Но A
ключ равен a
ключ.
'a'.toUpperCase().charCodeAt(0) // 65
'a'.charCodeAt(0) // 97
'A'.charCodeAt(0) // 65
'A'.toLowerCase().charCodeAt(0) // 97
По сути, вы хотите:
var _stringToKey = function() {
string = '{{key}}';
return parseInt( string.toUpperCase().charCodeAt(0) );
}
То, что вы пытаетесь, существует! Он называет мышеловку.
Mousetrap.bind(['command+k', 'ctrl+k'], function(e) {
highlight([11, 12, 13, 14]);
return false;
});
Просто и красиво.