Событие нажатия клавиши JS keydown keyup не работает на IOS8 при использовании стороннего IME
$(window).keypress(function(event) {
alert(event.which);
}
В IOS 7 это работает при использовании системного IME по умолчанию, но не работает при использовании стороннего IME. Похоже, что сторонний IME не отправляет событие keydown/keyup/keypress.
Любой обходной путь для мониторинга нажатия клавиши Enter?
PS Эта проблема схожа с тем, что сторонние клавиатуры iOS 8 не регистрируют javascript/jQuery keyup, нажатие клавиш, нажатие клавиш и т. Д., Но есть ли обходной путь для отслеживания события нажатия клавиши Enter?
1 ответ
Решение
Я обхожу обходной путь
$("#textarea").on('input propertychange paste',function(e){
var input = e.currentTarget.value;
if(input[input.lenght -1] == '\n') {
//do something
}
})
- Использовать текстовую область вместо ввода
- Добавьте слушатель 'input propertychange paste' на textarea
- проверьте, является ли Enter последним символом значения текстовой области