Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2016, 18:03
Аватар для Spirtikys
Аспирант
Отправить личное сообщение для Spirtikys Посмотреть профиль Найти все сообщения от Spirtikys
 
Регистрация: 30.12.2015
Сообщений: 49

Подсветка частей текста по мере появления
При вводе текста (в моем случае textarea) и появлении там указанных слов, они должны менять цвет. Я пытался это все обернуть в span, но textarea не воспринимает html теги.

textArea.addEventListener(`keydown`, function () {
        this.value.replace(/#(\w|\d)+/g, function (str) {
            return `<span class="tag">${str}</span>`
        });
    });


Возможно ли вообще это сделать без фреймворков?
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2016, 19:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Spirtikys,
div c contenteditable
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2016, 20:52
Аватар для Spirtikys
Аспирант
Отправить личное сообщение для Spirtikys Посмотреть профиль Найти все сообщения от Spirtikys
 
Регистрация: 30.12.2015
Сообщений: 49

Сообщение от рони Посмотреть сообщение
Spirtikys,
div c contenteditable
Пробывал, не реагировал на событие. Хотя может руки у меня не от туда, попробую еще.
Может кто что-то может еще подсказать?
Ответить с цитированием
  #4 (permalink)  
Старый 25.10.2016, 02:21
Профессор
Отправить личное сообщение для Bond Посмотреть профиль Найти все сообщения от Bond
 
Регистрация: 16.06.2013
Сообщений: 172

Сообщение от Spirtikys
Пробывал, не реагировал на событие
Скорее всего ошибка была, событие должно срабатывать.
Ответить с цитированием
  #5 (permalink)  
Старый 25.10.2016, 08:44
Аватар для Spirtikys
Аспирант
Отправить личное сообщение для Spirtikys Посмотреть профиль Найти все сообщения от Spirtikys
 
Регистрация: 30.12.2015
Сообщений: 49

Сообщение от Bond Посмотреть сообщение
Скорее всего ошибка была, событие должно срабатывать.
Да, событие отлавливает, вы правы. Но как и раньше нет эффекта обертки Поэтому я и решил, когда первую попытку через div делал, что проблема в событии, сейчас перепровели, оказалось, что не в нем.

textArea.addEventListener(`keydown`, function () {
        this.textContent.replace(/#(\w|\d)+/g, function (str) {
            console.log(`change`);
            return `<span class="tag">${str}</span>`;
        });
    });


В функцию заходит, но изменения не производит Если же тот же код отработать на обычной строке, все ок
Ответить с цитированием
  #6 (permalink)  
Старый 25.10.2016, 10:24
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Spirtikys,
this.innerHTML = this.textContent.....
Ответить с цитированием
  #7 (permalink)  
Старый 25.10.2016, 11:17
Аватар для Spirtikys
Аспирант
Отправить личное сообщение для Spirtikys Посмотреть профиль Найти все сообщения от Spirtikys
 
Регистрация: 30.12.2015
Сообщений: 49

Сообщение от Lemme Посмотреть сообщение
Spirtikys,
this.innerHTML = this.textContent.....
Спасибо. Отрабатывает, увы, не совсем то, что надо, так как идут скачки при наборе текста, но хотя бы уже что-то есть.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена частей текста в текстовом поле Vetall Общие вопросы Javascript 37 09.12.2014 18:26
Подсветка текста в input ruzik Элементы интерфейса 3 19.04.2014 18:28
Вопрос по скрипту для плавного появления текста Godser Общие вопросы Javascript 1 22.11.2013 23:49
Чудеса математики js при padding borovik Элементы интерфейса 6 09.07.2011 22:02
Замена частей текста Joshka Javascript под браузер 5 04.05.2011 05:10