LINUX.ORG.RU

Javascript


0

0
<input type="text">

Как установить курсор в определённую позицию в вышеприведённом элементе, с помощью JS?

Нужно что-то типа innputElement.position = 5;

Ответ на: комментарий от Ay49Mihas
Я щас повешусь :( кучу логики под эту вещь написал, а тут...

Ведь есть же selectionPosition или как-то так - короче выделяет часть текста в input'e, значит курсор устанавливается... но почему нельза его просто установить, ничего не выделяя?

golodranez ★★★★
() автор топика
а
inputElement.selectionStart = 5;
inputElement.selectionEnd = 5;
пробовал?
smartly ★★★
()
Ответ на: комментарий от golodranez
> Ведь есть же selectionPosition или как-то так - короче выделяет часть текста в input'e, значит курсор устанавливается... но почему нельза его просто установить, ничего не выделяя?

Вставь пробел и выдели... :)

Neksys ★★★
()
Ответ на: комментарий от golodranez
>Ведь есть же selectionPosition или как-то так - короче выделяет часть текста в input'e, значит курсор устанавливается

Я лично не вижу связи между выделением и курсором: выделить можно и без него.

Pi ★★★★★
()
//	позиционирование в поле ввода однострочного текста
function getCaretPosition(el)
{
	if (document.selection)
	{
		// IE
		var range = document.selection.createRange();
		range.moveStart('textedit', -1);
		return range.text.length;
	}
	else if (el.selectionStart)
	{
		// Gecko
		return el.selectionStart;
	}
	return el.value.length-1;
}

function setCaretPosition(el, pos)
{
	if (el.createTextRange)
	{
		// IE
		var range = el.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
	else if (el.selectionEnd)
	{
		// Gecko
		el.selectionEnd = pos;
	}
}
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.