Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2016, 11:33
Аспирант
Отправить личное сообщение для vanoha Посмотреть профиль Найти все сообщения от vanoha
 
Регистрация: 15.11.2014
Сообщений: 53

работа wisiwing
Уважаемые товарищи асы. Прошу вас объяснить или хотя бы показать направления куда копать...
Заинтересовался по поводу принципа работы wisiwing, но не как не могу понять как могут отражаться стили и картинки в textarea или вводится текст в div (даже при помощи js)... Я так понимаю "собака зарыта" не так уж глубоко, но до меня дойти не может... В нэте так и не смог найти хоть какой то материал по принципал работы данной "штуковины". Если есть спецы, можно ли как то кратко рассказать как это работает?
Ответить с цитированием
  #2 (permalink)  
Старый 26.03.2016, 17:21
Аспирант
Отправить личное сообщение для m1lk1way Посмотреть профиль Найти все сообщения от m1lk1way
 
Регистрация: 24.12.2015
Сообщений: 41

С чего вы взяли, что там картинка внутри textarea?) Попробуйте на простом примере - ВК, проинспектируйте поле для ввода сообщения. Там вообще нету не инпутов не textarea, там все из простых div состоит, однако и текст можно вводить и картинки запихивать =)
Скорее вам нужны дивы с contentEditable атрибутом. покопайте в эту сторону.
Надеюсь, поставил вас на рельсы
Ответить с цитированием
  #3 (permalink)  
Старый 28.03.2016, 12:41
Аспирант
Отправить личное сообщение для vanoha Посмотреть профиль Найти все сообщения от vanoha
 
Регистрация: 15.11.2014
Сообщений: 53

m1lk1way, спасибо что хоть кто то откликнулся...
Да, я тоже наткнулся на contenteditable="true", однако попробовав что то поменять в диве (кроме текста) при помощи js, ну например картинку вставить или цвет текста поменять, почему то все тэги отображаются как текст...
Ответить с цитированием
  #4 (permalink)  
Старый 28.03.2016, 15:09
Аспирант
Отправить личное сообщение для vanoha Посмотреть профиль Найти все сообщения от vanoha
 
Регистрация: 15.11.2014
Сообщений: 53

Пардон, это я чуть накосячил... Ну теперь направление понял, осталось разобраться с курсором и выделенным текстом...
Ответить с цитированием
  #5 (permalink)  
Старый 29.03.2016, 22:05
Аспирант
Отправить личное сообщение для m1lk1way Посмотреть профиль Найти все сообщения от m1lk1way
 
Регистрация: 24.12.2015
Сообщений: 41

vanoha,
есть такая штука в js - selection. Получить пользовательское выделение(если браузер не IE) можно хоть сейчас, выделив что угодно на сайте и в консоли - window.getSelection().toString()
Вообще можно кросс-браузерно и об этом вот тут
ну а получив выделение, очень легко его заменять на нужный нам текст.
К примеру получив выделенный текст на входе - дать, к примеру, тот же выделенный текст на выходе, только обернутый в любой другой тег.
Насчет выделения вроде разжевал, да в рот положил - глотайте теперь.
UPD
Быстрое, но точное гугление и проблема с курсором решается
Там с примером. Не стесняйтесь задавать вопросы если что-то по коду не ясно.

Последний раз редактировалось m1lk1way, 29.03.2016 в 22:18.
Ответить с цитированием
  #6 (permalink)  
Старый 11.04.2016, 14:29
Аспирант
Отправить личное сообщение для vanoha Посмотреть профиль Найти все сообщения от vanoha
 
Регистрация: 15.11.2014
Сообщений: 53

Что я делаю не так?
function Strong(thisob){
	var PosStart = 0, PosEnd=0, sel, range;
	if (window.getSelection) { 
		sel = window.getSelection();
		if (sel.rangeCount){ 
			range = sel.getRangeAt(0);
		  	if (range.commonAncestorContainer.parentNode == thisob){
				PosStart = range.startOffset;
				PosEnd = range.endOffset;
			}
      	}
    }
	var dovs = $(thisob).html().slice(0, PosStart);
	var posvs = $(thisob).html().slice(PosEnd);
	$(thisob).html(dovs+"<strong>"+range.toString()+"</strong>"+posvs);
}

Последний раз редактировалось vanoha, 13.04.2016 в 18:11.
Ответить с цитированием
  #7 (permalink)  
Старый 12.04.2016, 10:03
Аспирант
Отправить личное сообщение для vanoha Посмотреть профиль Найти все сообщения от vanoha
 
Регистрация: 15.11.2014
Сообщений: 53

Не ужели ни одного профи не может подсказать? Дело в том, что если е выделил слово в конце предложения, а затем слово где то в середине, то слово из середины перепрыгивает почти в смое начало предложения. Почему так происходит? Может мне кто нибудь объяснить?
Ответить с цитированием
  #8 (permalink)  
Старый 12.04.2016, 10:08
Аспирант
Отправить личное сообщение для vanoha Посмотреть профиль Найти все сообщения от vanoha
 
Регистрация: 15.11.2014
Сообщений: 53

m1lk1way, очень жду вашей помощи...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вакансия: Программист IOS, работа в офисе,г.Ростов-на-Дону Анна NikitaOnline Работа 0 21.03.2016 18:45
Интересная работа для JavaScript-разработчика в Москве от 120 000 linna9 Работа 1 21.01.2014 23:59
Постоянная работа / Front-end / Москва kooper Работа 4 29.09.2011 22:06