Mam textarea i chcę sprawdzić, czy kursor jest na początku lub na końcu (nie potrzebuję aktualnej pozycji).
Czy ktoś zna proste rozwiązanie jQuery?Jquery - Jeśli pozycja kursora na początku/końcu w polu tekstowym
Z góry dziękuję!
Peter
Mam textarea i chcę sprawdzić, czy kursor jest na początku lub na końcu (nie potrzebuję aktualnej pozycji).
Czy ktoś zna proste rozwiązanie jQuery?Jquery - Jeśli pozycja kursora na początku/końcu w polu tekstowym
Z góry dziękuję!
Peter
Zakładając, że masz na myśli raczej <input type="text">
niż tekst, oto rozwiązanie inne niż jQuery (którego nadal możesz używać z kodem jQuery). Prawie na pewno będzie to mniej kodu niż wtyczka jQuery.
UPDATE 12 listopada 2011
Mimo, że wyrobiłem a jQuery plug-in tylko dla jego rodzaju zadania, i to jest rzeczywiście większe niż na poniższym kodzie.
var textInput = document.getElementById("your_id"), val = textInput.value;
var isAtStart = false, isAtEnd = false;
if (typeof textInput.selectionStart == "number") {
// Non-IE browsers
isAtStart = (textInput.selectionStart == 0);
isAtEnd = (textInput.selectionEnd == val.length);
} else if (document.selection && document.selection.createRange) {
// IE <= 8 branch
textInput.focus();
var selRange = document.selection.createRange();
var inputRange = textInput.createTextRange();
var inputSelRange = inputRange.duplicate();
inputSelRange.moveToBookmark(selRange.getBookmark());
isAtStart = inputSelRange.compareEndPoints("StartToStart", inputRange) == 0;
isAtEnd = inputSelRange.compareEndPoints("EndToEnd", inputRange) == 0;
}
alert("At start: " + isAtStart + ", at end: " + isAtEnd);
Czy ta odpowiedź jest nadal aktualna od stycznia 2016 r. – Jessica
@Jessica: Oczywiście, i prawie na pewno będzie ważna w przewidywalnej przyszłości, ponieważ 'selectionStart' i' selectionEnd' to [ustandaryzowane] (https://html.spec.whatwg.org/multipage/forms.html#dom-textarea/input-selectionstart) Druga gałąź jest przeznaczona tylko dla IE 8 i wcześniejszych, więc może być usunięta, jeśli nie musisz się martwić o te przeglądarki. –
Dzięki! Czy sugerujesz, że wspieram IE 8 i wcześniejsze? – Jessica
Tak, użyj tego awesome jQuery plugin.
Potrzebujesz więcej informacji? Wracaj tu więcej pytań :)
Aktualizacja
Blog oryginalny post związany z wtyczką jest w dół.
Dzięki maszyny do powrotu możesz nadal oglądać.
http://web.archive.org/web/20080620163228/http://blog.0xab.cd/jquery-plugin---fieldselection
Boga kocham, że witryny.
Masz na myśli '' lub '
Mam na myśli . Czy pole tekstowe jest bieżącym słowem? – Peter
Zgadnij. Nigdy nie jestem pewien, co ludzie mają na myśli. –