2012-06-04 3 views
1

Я пытаюсь сделать что-то вроде этого: enter image description hereКак получить позицию курсора в текстовом поле как значение пикселя?

При использовании входа «#» в текстовом поле, то ColorPicker DIV должен быть открыт в нижней позиции курсора. Я могу получить порядок курсора с element.selectionStart, но это не надежный способ сделать это. Это должно быть значение пикселя. Любое предложение?

+0

Прочитать указатель мыши. –

+0

Однако указатель мыши может быть где угодно. –

+0

Это правильно, но вы также можете определить, где находится текстовое поле. –

ответ

1

Если вы уверены, что текстовое поле никогда не будет прокручиваться, вы можете просто воспроизвести размер шрифта и поля в текстовом поле в div, расположенном вне поля зрения, а затем измерить размер пролета с тем же содержимым, что и текстовое поле.

+0

Курс работает только в том случае, если курсор находится в конце строки, когда пользователь вводит триггер:/ –

+0

Я могу сделать это с помощью inputselector.selectionStart * 6px + inputoffset.left, и курсор не должен быть в конец, но я не могу быть уверен, что текстовое поле прокручивается горизонтально или нет. :/ –

+0

Я думаю, что это прокручиваемость элемента ввода, который вас доставит. В противном случае, достаточно тривиально отслеживать индексы # и определять, где один был добавлен внутри строки. Однако, не зная смещения прокрутки текста, возможно, невозможно понять, насколько далеко внутри ящика, наглядно говоря, характер. –

Смежные вопросы