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