Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Определить позицию курсора в текстовом поле (https://javascript.ru/forum/events/26231-opredelit-poziciyu-kursora-v-tekstovom-pole.html)

iNfantry 01.03.2012 16:52

Определить позицию курсора в текстовом поле
 
Вопрос наверное совсем нубский, но всё же...
Допустим есть textarea, ставим курсор куданибудь в текст, потом жмем какуюнибудь кнопку/ссылку вне этого текстового поля - как в обработчике клика этой кнопки/ссылки определить в какой позиции текстового поля стоял курсор? Нужно это чтобы затем вставить в эту позицию какойто текст, как это делают визивиг-редакторы например.

devote 01.03.2012 23:59

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>

    <textarea id="mytextarea"></textarea>
    <button onclick="alert( getCursorPosition( document.getElementById('mytextarea') ) )">Get Position</button>

    <script type="text/javascript">
    function getCursorPosition( ctrl ) {
        var CaretPos = 0;
        if ( document.selection ) {
            ctrl.focus ();
            var Sel = document.selection.createRange();
            Sel.moveStart ('character', -ctrl.value.length);
            CaretPos = Sel.text.length;
        } else if ( ctrl.selectionStart || ctrl.selectionStart == '0' ) {
            CaretPos = ctrl.selectionStart;
        }
        return CaretPos;
    }
    </script>
    </body>
</html>

iNfantry 02.03.2012 01:27

Спасибо большое, то что надо! :thanks:


Часовой пояс GMT +3, время: 10:22.