Показать сообщение отдельно
  #2 (permalink)  
Старый 19.07.2010, 04:20
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Для <input> в IE достаточно:
<input type="text" onkeyup="fn(this)">
<script>
function fn(input) {
	var range = input.createTextRange();
	range.setEndPoint("EndToStart", document.selection.createRange());
	alert(range.text.length);
};
</script>

А вот для textarea этот код уже работать не будет (пример с textarea).

Сообщение от x-yuri
по-хорошему надо было бы в ie фокус устанавливать на элементе, но по той же причине его надо было бы и вернуть, только как...
Когда input получает фокус ввода, весь текст в нем становится выделенным, положение каретки не сохраняется в IE. Может быть проверять activeElement, если он не равен input'у, то писать, что положение 0 или дина value.

Последний раз редактировалось Octane, 19.07.2010 в 04:36.
Ответить с цитированием