JQuery событие click html () работает только один раз - PullRequest
0 голосов
/ 21 октября 2019

У меня есть функция, которая при нажатии на элемент должна вводить значение текстовой области, но функция работает только при нажатии один раз, а затем больше не работает, если только не загружается страница. Как заставить функцию работать каждый раз, когда я нажимаю на элемент?

Я сделал функцию в javascript, но это работает только в Firefox и не работает в chrome, поэтому я сдался и попробовал jquery

$("#element").click(function(){
    $("#nameidtextarea").html("<br>");
});

Ожидалось, что при нажатии на #element значение "<'br'>" будет вставлено в текстовую область

1 Ответ

2 голосов
/ 21 октября 2019

Содержимое HTML элемента textarea имеет значение по умолчанию , поэтому его использование изменит значение только в том случае, если оно не было изменено пользователем.

Не использовать html() для изменения значения элемента управления формы. Используйте val().


Вы в данный момент устанавливаете значение <br>. Это действие replace , а не действие insert .

Если вы хотите вставить данные, а не стереть существующие, вам нужно будет прочитать текущее значение, изменить его, а затем установить новое значение обратно.


$("#element").click(function(){
    const old_value = $("#nameidtextarea").val();
    const new_value = old_value + "<br>";
    $("#nameidtextarea").val(new_value);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...