Существует несколько причин, по которым вы можете пересмотреть реализацию такой функции.
1. Производительность mouseover
вызывает много событий в очень короткий промежуток времени, в котором вы должны пересчитать позицию курсора. На низкоуровневых устройствах (например, нетбуках или смартфонах) это очень быстро становится очень медленным.
2. Юзабилити В случае ноутбуков и нетбуков может легко случиться так, что вы случайно коснуться вашей сенсорной панели, и для этого случайно переместить курсор на совершенно новую позицию, которая может быть очень раздражает.
3. Поддержка Учтите, что большинство сенсорных компьютеров, таких как планшеты и смартфоны, не смогут использовать вашу функцию.
4. Использование Я не могу придумать какой-либо случай использования, когда эта функция может быть полезной. Единственное, что вы выиграли, - это меньше щелчка на стороне пользователя. Учтите, что пользователь уже переместил курсор в определенную позицию, которую он хочет редактировать. Еще одно нажатие пальца не требует никаких усилий.
Тем не менее, если вы все-таки решили пойти на это по какой-либо причине вы получили то, что вам нужно сделать, это получить высоту строки каждой строки поля TEXTAREA. Используйте моно шрифт, где каждый символ имеет одинаковую ширину. Получите высоту и ширину поля textarea. Получите скрытую часть поля textarea, когда полоса прокрутки находится не вверху. И, наконец, найдите позицию курсора внутри текстового поля. Из всех этих данных вы можете вычислить индекс строки, а затем использовать функцию jquery, с которой вы связаны, где оба аргумента одинаковы. $("textarea").selectRange(pos, pos);
Предоставьте свои попытки, например, пример кода и сузите вопрос, что вы борется с. В противном случае это похоже на то, что вы хотите, чтобы кто-то сделал это за вас, и это не то, для чего предназначен Stackoverflow. –
Достаточно справедливо, вот ссылка на проект с кодовой ручкой: [link] (http://codepen.io/anon/pen/gyunh). Я пытаюсь использовать функцию .trigger() jQuery, но это не репликация истинного щелчка мыши. Спасибо за ваш отзыв. :) – yaclive
Посмотрите, насколько лучше выглядит :) –