edit: я хочу использовать клавишу ввода, чтобы очистить текстовое поле после того, как я уже набрал текст.Извините за путаницу, которую я вызвал
edit 2 Ключ ко всему этому был отсутствующий параметр события.К сожалению, я как программист провал.
Я хочу отключить новую строку / разрыв, когда я нажимаю ввод.Однако версия 1 не работает, так как я не смогу вообще ввести текст.
Версия 2 работает, и я все еще могу очистить поле, продолжая вводить новые тексты.
Исходя из того, как я это интерпретирую, нажимаю ли я клавишу Shift + ввод вместе или нет, это все равно должно позволять мне печатать.Почему такая разница?Как опция по умолчанию клавиши Shift связана с включением / отключением ввода в текстовом поле?То, что я хотел бы сделать, это просто отключить новую строку / разрыв при нажатии кнопки ввода, но я обнаружил, что она также отключила часть ввода, что, по моему пониманию, не должно?
// html
<textarea type="text" id="box">Some text</textarea>
// javascript
document.getElementById('box').addEventListener('keypress', (e)=>{
//version 1
if(e.keyCode == 13){ //why does this version also disable any text input?
e.preventDefault();
document.getElementById('box').value = '';
}
//version 2
if(e.keyCode == 13 && e.shiftKey){
e.preventDefault();
document.getElementById('box').value = '';
}
});