Mam obszar tekstowy i chciałbym wiedzieć, czy jestem w ostatnim wierszu w obszarze tekstowym, czy w pierwszym wierszu w obszarze tekstowym za pomocą kursora z JavaScript.
Pomyślałem o uchwyceniu pozycji pierwszego znaku nowej linii i ostatniego znaku nowej linii, a następnie zajęciu pozycji kursora.
var firstNewline = $('#myTextarea').val().indexOf('\n');
var lastNewline = $('#myTextarea').val().lastIndexOf('\n');
var cursorPosition = ?????;
if (cursorPosition < firstNewline)
// Jestem na pierwszej linii.
else if (cursorPosition > lastNewline)
// Jestem na ostatniej linii.
Czy istnieje lepsze rozwiązanie?
1 odpowiedź
Jeśli nie ma wyboru, możesz użyć właściwości .selectionStart
lub .selectionEnd
.
var cursorPosition = $('#myTextarea').prop("selectionStart");
Wydaję mi się, że jest gdzieś biblioteka, która jest przeznaczona do pobierania i ustawiania selekcji / pozycji kursora w elementach wejściowych. Może warto poszukać :)
Pozdrawiam