Wie führen Sie einen Bildlauf zu der position des Cursors in der textarea?

JS Fiddle Demo

HTML

<textarea rows='5'>
sdfasjfalsfjasf;klasdfklaksdfkjlasdfkjlasdjkfadls;fjklasdfjklasdkjlfaskljdfkalsjdfjlkasdfkjlasdkjlfasfkl;ajklsdfjklasdfkjlaskjldfaskjlfkljsadkjlfaskjldfkjlasdfkjlasdjklfaskljdfkjlasfkjlasdkjlfasjklfajklsdfjklasdfjlkadjsdfasjfalsfjasf;klasdfklaksdfkjlasdfkjlasdjkfadls;fjklasdfjklasdkjlfaskljdfkalsjdfjlkasdfkjlasdkjlfasfkl;ajklsdfjklasdfkjlaskjldfaskjlfkljsadkjlfaskjldfkjlasdfkjlasdjklfaskljdfkjlasfkjlasdkjlfasjklfajklsdfjklasdfjlkadjsdfasjfalsfjasf;klasdfklaksdfkjlasdfkjlasdjkfadls;fjklasdfjklasdkjlfaskljdfkalsjdfjlkasdfkjlasdkjlfasfkl;ajklsdfjklasdfkjlaskjldfaskjlfkljsadkjlfaskjldfkjlasdfkjlasdjklfaskljdfkjlasfkjlasdkjlfasjklfajklsdfjklasdfjlkadjsdfasjfalsfjasf;klasdfklaksdfkjlasdfkjlasdjkfadls;fjklasdfjklasdkjlfaskljdfkalsjdfjlkasdfkjlasdkjlfasfkl;ajklsdfjklasdfkjlaskjldfaskjlfkljsadkjlfaskjldfkjlasdfkjlasdjklfaskljdfkjlasfkjlasdkjlfasjklfajklsdfjklasdfjlkadj
</textarea>

<br />
<button id='scroll-to-cursor'>Scroll to Cursor</button>

JavaScript

$('#scroll-to-cursor').on('click', function() {
    //?
});

Gewünschte Ergebnis

  1. Klicken Sie irgendwo in das Textfeld zu plazieren Sie den cursor.
  2. Blättern entfernt, so dass der cursor nicht sichtbar ist.
  3. Klicken Sie auf "Scroll-to-Cursor" - Taste.
  4. Textarea scrollt, um die position des Cursors

Hinweis: ich verwende jQuery.

Nur so konnte ich herausfinden, wie Sie navigieren, ist die Verwendung von jQuery scrollTop
Funktion. Es legt die scroll-position, um "die Anzahl der Pixel, die von der Ansicht versteckt oberhalb des scrollbaren Bereichs".

Ich habe in Diagrammen erfasst das problem unten. Vorbei an der Länge der roten Linie (in Pixel) scrollTop sollte den trick tun. Aber ich kann nicht herausfinden, wie man die Länge der Linie.

Wie führen Sie einen Bildlauf zu der position des Cursors in der textarea?

  • Würde this link arbeiten? Es ist reines JS.
  • Sie können einfach konzentrieren die textarea-Komponente, um es wieder zu der Position des Cursors in webkit-Browsern. Funktioniert nicht in IE/Firefox obwohl
  • es hat funktioniert, vielen Dank! Auf den ersten Blick sah ich, dass es für Eingänge und horizontalen scrollen, so dass ich nicht denke, dass es beantragt, aber ich habe es gerade getestet und es funktioniert.
InformationsquelleAutor Adam Zerner | 2015-04-27
Schreibe einen Kommentar