Показать сообщение отдельно
  #1 (permalink)  
Старый 03.06.2011, 09:50
Аспирант
Отправить личное сообщение для mister_maxim Посмотреть профиль Найти все сообщения от mister_maxim
 
Регистрация: 09.02.2009
Сообщений: 57

Получение позиции в курсора в textArea?
Интересует эта штука только для IE, т.к. для других - проблемы такой нет.
Где-то скачал такую функцию:
function ie_getSelection(inputBox)  
{  
			        //and now, the blinkered IE way  
			        var bookmark = document.selection.createRange().getBookmark() ; 
			        var selection = inputBox.createTextRange();
			  
			        selection.moveToBookmark(bookmark) ;
			  
			        var before = inputBox.createTextRange();
			        before.collapse(true);
			        before.setEndPoint("EndToStart", selection);  
			  
			        var beforeLength = before.text.length;  
			        var selLength = selection.text.length;  
				return {  
			                start: beforeLength,
			                end: beforeLength+selLength
			        };		
};

Эту функцию я вызываю временным интервалом для отслежки позиции курсора и выделения.
Но она работает не вполне корректно для ie8, а именно: при переходе с конца текущей строки на начало новой - позиция не изменяется, аналогично и наоборот: с начала текущей строки на конец предыдущей - тоже не меняется. Если нельзя изменить код приведенной функции, то как можно отследить эту разницу в позициях по другому?
Ответить с цитированием