Мне интересно, как я могу вставить текст в текстовую область, используя jquery, по щелчку тега привязки.
Я не хочу заменять текст уже в текстовой области, я хочу добавить новый текст в текстовую область.
jquery
formatting
textarea
Оливер Стубли
источник
источник
Ответы:
Из того, что вы имеете в комментариях Джейсона, попробуйте:
Редактировать - чтобы добавить к тексту посмотрите ниже
источник
Мне нравится расширение функции jQuery. Однако this ссылается на объект jQuery, а не на объект DOM. Поэтому я немного изменил его, чтобы сделать его еще лучше (можно обновлять сразу несколько текстовых полей / текстовых полей).
Это работает очень хорошо. Вы можете вставить в несколько мест одновременно, например:
источник
sel
имел в виду , чтобы быть глобальным?Я использую эту функцию в моем коде:
Это не на 100% мое, я где-то гуглил, а потом настроился на мое приложение.
Использование:
$('#element').insertAtCaret('text');
источник
Я знаю, что это старый вопрос, но для людей, которые ищут это решение, стоит отметить, что вы не должны использовать append () для добавления контента в текстовую область. метод append () нацелен на innerHTML, а не на значение текстовой области. Содержимое может появиться в текстовой области, но оно не будет добавлено к значению формы элемента.
Как отмечено выше, используя:
будет работать нормально
источник
этот позволяет вам «вставить» часть текста в текстовое поле, значит «вставить»: добавляет текст там, где находится курсор.
И вы можете использовать это так:
Забавно и больше смысла, когда у нас есть функция «Вставить тег в текст».
работает во всех браузерах.
источник
.focus()
вызовов и обновлений доselectionStart
иselectionEnd
после модификации. Испанские переменные могли быть использованы для обоснования другого ответа ...Эй, это модифицированная версия, которая работает нормально в FF @least для меня и вставляет в позиции каретки
источник
ты пробовала:
хотя не уверен насчет автоосветки.
РЕДАКТИРОВАТЬ :
Добавить:
источник
append()
не работает на значение аtextarea
.append()
Метод нацелен на innerHTML, а не значение текстового поля.То, что вы просите, должно быть достаточно простым в jQuery-
Лучший способ выделить выделенный текст - обернуть его в промежуток с помощью класса CSS с
background-color
выбранным вами цветом. При следующей вставке вы можете удалить класс из любых существующих диапазонов (или удалить их).Тем не менее, на рынке есть множество бесплатных WYSIWYG HTML / Rich Text редакторов, я уверен, что один из них подойдет вашим потребностям.
источник
Вот быстрое решение, которое работает в jQuery 1.9+:
а) Получить каретную позицию:
б) Добавить текст в позиции каретки:
в) Пример
источник
Это хорошо работает для меня в Chrome 20.0.11
источник
Если вы хотите добавить контент в текстовую область без замены, попробуйте следующее
По вашему сценарию это будет
источник
Я думаю, что это было бы лучше
источник
Здесь также описано другое решение, если некоторые другие сценарии не работают в вашем случае.
источник
Это похоже на ответ, данный @panchicore с исправленной незначительной ошибкой.
источник
Простое решение: ( Предположение : вы хотите, чтобы все, что вы вводите внутри текстового поля, добавлялось к тому, что уже есть в текстовой области )
В событии onClick тега <a> напишите пользовательскую функцию, которая делает это:
(где идентификаторы, textId1 - для o / p textArea textId2 - для i / p textbox ')
источник
источник
Я использовал это, и он отлично работает :)
Remi
источник