Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   'KeyboardEvent.keyIdentifier' is deprecated and will be removed (https://javascript.ru/forum/events/65089-%27keyboardevent-keyidentifier%27-deprecated-will-removed.html)

xbit 25.09.2016 19:54

'KeyboardEvent.keyIdentifier' is deprecated and will be removed
 
Отладчик хрома выдает такую штуку:

'KeyboardEvent.keyIdentifier' is deprecated and will be removed in M54, around October 2016. See [url]https://www.chromestatus.com/features/5316065118650368[/url] for more details.


Кто-нибудь уже разобрался, что это значит и как теперь работать с клавиатурой?

Rise 25.09.2016 20:02

xbit, а что по ссылке ссышь пройти?

xbit 25.09.2016 22:30

"ссышь" - угу, ага, спасибо, проходите мимо.

Вопрос, если не совсем понятно, в том, вникал ли кто-нибудь уже в предстоящие изменения и как теперь на примере будем обрабатывать события клавиатуры. По ссылке, разумеется ходил, но что в итоге меняется не понял ) Просьба просветить, кто уже разобрался.

Rise 25.09.2016 23:02

xbit, KeyboardEvent.key

xbit 25.09.2016 23:20

Цитата:

Сообщение от Rise (Сообщение 429833)
xbit, KeyboardEvent.key

Я это видел. Если не сложно, можете привести пример, как теперь отлавливать? Потому что я чего-то туплю и не могу понять, что к чему.

key = e.keyCode || e.which;
if(key == 13) {
// код
}


Как оно теперь будет?

Rise 25.09.2016 23:26

xbit, e.key == "Enter"

xbit 25.09.2016 23:40

Спасибо! Проверил, но e.key возвращает символ зависимый от раскладки + как работать с контролом - не ясно.

if ( e.keyCode == 46 ) function();
if ( (e.ctrlKey || e.metaKey) && e.keyCode == 67 ) function();
if ( (e.ctrlKey || e.metaKey) && e.keyCode == 88 ) function();
if ( (e.ctrlKey || e.metaKey) && e.keyCode == 86 ) function();


Как этот код перевести на новый лад?

Rise 26.09.2016 00:08

xbit, короче введены e.key (зависимый от раскладки) и e.code (независимый от раскладки) и есть e.altKey, e.ctrlKey, e.shiftKey, e.metaKey, а эти e.charCode, e.keyCode, e.which удалятся со временем... таблицы значений клавиш/кодов смотри по ссылкам... например (e.keyCode == 46) соответствует (e.code == 'Delete')

xbit 26.09.2016 00:50

Спасибо, буду разбираться дальше!


Часовой пояс GMT +3, время: 11:36.