Показать сообщение отдельно
  #1 (permalink)  
Старый 03.10.2011, 20:07
Кандидат Javascript-наук
Отправить личное сообщение для Maxman Посмотреть профиль Найти все сообщения от Maxman
 
Регистрация: 18.06.2010
Сообщений: 122

Получить курсор в элементе с contentEditable="true"
Здравствуйте. Есть такая задача, нужно вставлять смайлы в текстовое поле, перед курсором (кареткой) соответственно. В качестве текстовой области используется <div contentEditable="true">
Для получения позиции текстового курсора, пробовал такой код:
function getCaretPosition (ctrl) {
	var CaretPos = 0;
	// IE
	if (document.selection) {
		ctrl.focus ();
		var Sel = document.selection.createRange ();
		Sel.moveStart ('character', -ctrl.value.length);
		CaretPos = Sel.text.length;
	}
	// Gecko
	else if (ctrl.selectionStart || ctrl.selectionStart == '0')
		CaretPos = ctrl.selectionStart;
	return CaretPos;
}
Но, он работает только с textarea. Есть какие-нибудь идеи на этот счёт?

Последний раз редактировалось Maxman, 03.10.2011 в 21:22.
Ответить с цитированием