Я видел несколько вопросов об этом в StackOverflow, но, похоже, сложно найти решение на основе jQuery. Поэтому я хотел бы задать этот вопрос.Замена текста на лету в contenteditable с помощью чистого jQuery
Я хочу заменить текст на лету внутри div
с атрибутом contenteditable="true"
.
Я ищу для JQuery на основе решения, которое будет сделать следующее:
- Автоматически заменить письменный текст на лету (как тип)
- Будучи в состоянии продолжать писать (в то время как замена делается)
Я посмотрел на редакторе SC (http://www.sceditor.com/), кажется, что это делает именно то, что (например, если вы пытаетесь типа :)
он получает заменен на n смайлик.
Я думаю, что хороший старт будет массив со всеми элементами для замены:
$.settings = {
path: 'https://example.com/images/',
emoticons: {
':(' : 'stupid.jpg',
':)' : 'smart.jpg',
}
}
Я не смог найти хорошие примеры этого. Был бы рад, если кто-то может поделиться своими мыслями и любым кодексом относительно этого.
Каким образом замена будет выполнена наилучшим образом, с вышеуказанным кодом?
Я не знаю, если это лучший способ, но вы можете добавить слушателя на вход и сделать его прочитанным символом когда вы набираете, если последний символ записи соответствует последнему из ваших эмоций, вы проверяете возможные предыдущие символы, которые соответствуют любым эмоциям. Если я напишу :(когда он будет использовать ловушку (это будет шрифт для: если поиск заменит ваши эмоции. – Rodrigo
У меня есть был доволен http://ckeditor.com/. Я думаю, что я не большой поклонник изобретать колесо. – Bindrid
@Bindrid: Это не очень хорошая возможность использовать весь редактор ck, если вам нужна только эта функция, следовательно, вопрос – Robin