Итак, я использую с довольным, "true" . OnkeyDown генерирует новые элементы с нажатой клавиш как текст. Я использую PreflectDefault () , чтобы не показывать нажатый символ в поле ввода. Если нажат «Backspace», последний новый элемент удален. , если я ввожу несколько букв, а затем нажимаю на Backspace, ни одно из событий не запускается в JS.
Виртуальная клавиатура (по умолчанию и Swiftke Все прошли, события снова передаются в JS. Проблема существует только на мобильной связи !! >
let editableSpan = document.querySelector('#inp');
editableSpan.onkeydown = function(e){
console.log('key pressed', e.which, e.key);
if(e.which === 8){
var keyEls = document.querySelectorAll('#out .kbd');
keyEls.length > 0 && keyEls[keyEls.length - 1].remove();
}else if(e.key.length === 1){
var keyEl = document.createElement('span');
keyEl.classList.add('kbd');
keyEl.textContent = e.key;
document.querySelector('#out').append(keyEl);
}
e.preventDefault();
//editableSpan.removeAttribute('contenteditable');
//editableSpan.setAttribute('contenteditable', 'true');
}
var arr = ['input', 'keyup', 'keydown', 'keypress', 'beforeinput', 'textInput'];
arr.forEach(eventType => {
editableSpan.addEventListener(eventType, (e) => {
console.log(eventType, e.type, e.key || 'no key');
});
});< /code>
#inp {
background-color: goldenrod;
border: solid 3px black;
}
.kbd {
display:inline-block;
background-color:darkgrey;
font-size: 2em;
padding: .5em;
margin-right: .3em;
margin-top: .3em;
border-radius:.3em;
font-style:monospace;
}< /code>
< /code>
< /div>
< /div>
< /p>
Подробнее здесь: https://stackoverflow.com/questions/794 ... ards-in-js
Выявление выявления Backspace с мобильных клавиатур в JS ⇐ Javascript
Форум по Javascript
-
Anonymous
1738708482
Anonymous
Итак, я использую с довольным, "true" . OnkeyDown генерирует новые элементы с нажатой клавиш как текст. Я использую PreflectDefault () , чтобы не показывать нажатый символ в поле ввода. Если нажат «Backspace», последний новый элемент удален. , если я ввожу несколько букв, а затем нажимаю на Backspace, ни одно из событий не запускается в JS.
Виртуальная клавиатура (по умолчанию и Swiftke Все прошли, события снова передаются в JS. Проблема существует только на мобильной связи !! >
let editableSpan = document.querySelector('#inp');
editableSpan.onkeydown = function(e){
console.log('key pressed', e.which, e.key);
if(e.which === 8){
var keyEls = document.querySelectorAll('#out .kbd');
keyEls.length > 0 && keyEls[keyEls.length - 1].remove();
}else if(e.key.length === 1){
var keyEl = document.createElement('span');
keyEl.classList.add('kbd');
keyEl.textContent = e.key;
document.querySelector('#out').append(keyEl);
}
e.preventDefault();
//editableSpan.removeAttribute('contenteditable');
//editableSpan.setAttribute('contenteditable', 'true');
}
var arr = ['input', 'keyup', 'keydown', 'keypress', 'beforeinput', 'textInput'];
arr.forEach(eventType => {
editableSpan.addEventListener(eventType, (e) => {
console.log(eventType, e.type, e.key || 'no key');
});
});< /code>
#inp {
background-color: goldenrod;
border: solid 3px black;
}
.kbd {
display:inline-block;
background-color:darkgrey;
font-size: 2em;
padding: .5em;
margin-right: .3em;
margin-top: .3em;
border-radius:.3em;
font-style:monospace;
}< /code>
< /code>
< /div>
< /div>
< /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/79413204/isssue-detecting-backspace-from-mobile-keyboards-in-js[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия