Member 14528514 Ответов: 1

Как я могу установить каретку a ASP.NET текстовое поле в положение мыши?


Я использую drag & drop, перетаскивая метки текста в текстовое поле на веб-странице. При падении я хотел бы, чтобы он вставил текст метки, где мышь использует jquery.

К сожалению, я не вижу способа определить, где будет находиться каретка, основываясь на текущем положении мыши, кроме получения относительного положения мыши к элементу textbox и разработки всего шрифта текста/размера/Кернинга/высоты строки/новых строк/и т. д.

Сам браузер может легко решить эту проблему (щелкните текстовое поле, там есть каретка в нужном положении), но я не вижу, как это сделать в коде.

Любая помощь будет оценена по достоинству.

Опять же, моя цель состоит в том, чтобы перетащить метку в текстовое поле и поместить ее в текущий текст в зависимости от положения мыши с помощью jquery. Хотя, если он выполнит свою работу, я использую все, что есть в наличии. Все уже сделано, кроме определения позиции в тексте, где метка отброшена.

Ваше здоровье!

Что я уже пробовал:

До сих пор я пытался использовать те встроенные методы и свойства, которые я могу найти в asp.net и начали пытаться определить правильное положение курсора на основе положения мыши и текста текстового поля. Однако это кажется большим обходным путем для чего-то, что обычно достигается простым щелчком по тексту текстового поля, поэтому я надеюсь, что упустил что-то очевидное, прежде чем продолжить этот путь.

1 Ответов

Рейтинг:
0

raddevus

Скорее всего, вам придется сделать это с помощью JavaScript, так как вы работаете с HTML-элементом

<input type="text">

К счастью, существует общепринятое решение этой проблемы.:
javascript - нужен курсор в начале текста в textarea - переполнение стека[^]

Я немного изменил его и создал планкер, чтобы вы могли попробовать его:
Плунжер - Установка Положения Каретки[^]

Вот краткий снимок:
https://i.stack.imgur.com/O17ns.png[^]

Ты можешь
1. установите значение, в котором вы хотите видеть каретку (первый вход - число)
2. Нажмите кнопку
3. смотрите, как будет установлена каретка в поле (второй ввод - текст)


Member 14528514

К сожалению, основная проблема заключается в разработке индекса, основанного на положении мыши над текстовым полем. Представьте, что вы наводите курсор мыши на текстовое поле и видите метку с изменяющимся индексом, который соответствует индексу вашей позиции мыши.