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) );
}

То, что вы пытаетесь, существует! Он называет мышеловку.

https://craig.is/killing/mice

 Mousetrap.bind(['command+k', 'ctrl+k'], function(e) {
    highlight([11, 12, 13, 14]);
    return false;
 });

Просто и красиво.

Другие вопросы по тегам