Как я могу создать кнопку, которая при нажатии имитирует ENTER, как если бы она была физически нажата на клавиатуре.
Другими словами, эта кнопка при нажатии имитирует кнопку ВВОД внутри текстовой области, в которую вводится текст.
Например, после нажатия кнопки
Исходный текст текстовой области:
ХХХ ХХХ ХХХ
Становится
Новый текст текстовой области:
ХХХ ХХХ ХХХ
Новая строка
Все это моделируется нажатием кнопки.
Предположим, текстовая область имеет идентификатор #QR.
Строго javascript, без jquery
2 ответа
Хотя это довольно просто. Все, что вам нужно сделать, это добавить прослушиватель событий на кнопку следующим образом:
HTML-код:
<textarea id="text_area"></textarea>
<button type="button" id="new_line">Click Me!</button>
Код JS
var textarea = document.getElementById("text_area"),
myBtn = document.getElementById("new_line");
myBtn.addEventListener("click", function(){
textarea.value += "\r\n";
textarea.focus(); // This is optional, if you want the user to go back into the textarea. This will be good then :)
}, false);
Обратите внимание, что я объявил переменные вне функции, так что при каждом нажатии кнопки вам не нужно снова и снова прыгать в DOM, чтобы искать текстовое поле.
Надеюсь, это поможет :-)
Html
<textarea id="txtArea"></textarea>
<button type="button" onclick="clickOn()">
Js
<script>
function clickOn()
{
document.getElementById("txtArea").value = document.getElementById("txtArea").value + "\n*";
}
</script>
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.
<button type="button" onclick="document.getElementById("QR").value+='\n';">Enter</button>