LINUX.ORG.RU

Javascript


0

0

<input type="text">

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

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

Re: Javascript

В JS 1.0-1.5 вроде никак.

Ay49Mihas ★★★★ ()
Ответ на: Re: Javascript от Ay49Mihas

Re: Javascript

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

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

golodranez ★★★★ ()

Re: Javascript

а
inputElement.selectionStart = 5;
inputElement.selectionEnd = 5;
пробовал?

smartly ★★★ ()
Ответ на: Re: Javascript от golodranez

Re: Javascript

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

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

Neksys ★★★ ()
Ответ на: Re: Javascript от golodranez

Re: Javascript

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

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

Pi ★★★★★ ()

Re: Javascript

//	позиционирование в поле ввода однострочного текста
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 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.