Jak znaleźć, jeśli pole tekstowe (lub tekst) jest aktualnie aktywne? Nie chcę wiedzieć, który to jest, po prostu muszę wiedzieć, czy jest on w centrum uwagi (ma kursor w nim). Jak to zrobić z javascript i jquery?Znajdź, czy obecnie zaznaczono pole tekstowe
Odpowiedz
Skoro znalazłeś document.activeElement
, można sprawdzić jego parametr nodeName.
if (document.activeElement.nodeName == 'TEXTAREA' || document.activeElement.nodeName == 'INPUT') {
// ....
}
Coś w tym stylu.
$('#yourTextAreaID:focus');
nie działa. :) Ale
$('#yourTextAreaID').focus(function(){
// do something
});
byłoby excecute kod //do something
gdy element otrzymuje się skupić.
Ok, ale w danym momencie (nie neccesarily gdy użytkownik kliknie pole tekstowe) w jaki sposób mogę sprawdzić czy dowolny pole tekstowe ma fokus? –
Biorąc pod uwagę, że OP nie dba o to "który to jest", sugerowałbym zmianę selektora na: '$ ('textarea: focus, input: text: focus') ...' –
Właśnie znalazłem dokument. activeElement. Jak sprawdzić, czy jest to pole tekstowe lub tekstowe? –
$('#target').focus(function() {
alert('Handler for .focus() called.');
});
Spróbuj również:
alert($("*:focus").attr("id"));
jako @lonesome wskazano powyżej,: hover nie jest rzeczywistym selektorem jquery. Myślałem, że to też, ale kiedy sprawdziłem dokumentację, nie mogłem tego znaleźć. – JakeParis
OK, właśnie to wymyśliłem. Oto co zrobiłem:
function checkFocus() {
if ($(document.activeElement).attr("type") == "text" || $(document.activeElement).attr("type") == "textarea") {
//Something's selected
return true;
}
}
Ktoś oznaczył to jako odpowiedź, mówi, że muszę poczekać 2 dni. :) –
jesteś jedyną osobą, która * może * oznaczyć to jako odpowiedź. Zobacz także stronę pomocy Stackdown Markdown (http://stackoverflow.com/editing-help/), aby uzyskać wskazówki dotyczące formatowania odpowiedzi, w szczególności próbek kodu. –
Pamiętaj, że będzie to działać we wszystkich nowoczesnych przeglądarkach, ale * nie będzie działać * w wielu przestarzałych przeglądarkach. Zajrzyj do [tej odpowiedzi] (http://stackoverflow.com/questions/1009777/determining-which-element-has-focus/1009787#1009787), aby znaleźć technikę pozwalającą temu zaradzić. – lonesomeday
Rozszerzanie zaakceptowane odpowiedź przez czekiem na edytowalnych HTMLDivElements:
if (document.activeElement.nodeName == 'TEXTAREA'
|| document.activeElement.nodeName == 'INPUT'
|| (document.activeElement.nodeName == 'DIV'
&& document.activeElement.isContentEditable)) {
// …
}
- 1. Jak mogę sprawdzić, czy faktycznie zaznaczono pole wyboru?
- 2. Znajdź, jeśli pole tekstowe jest wyłączone lub nie używa jquery
- 3. Znajdź wszystkie węzły tekstowe
- 4. Pole tekstowe - centrowanie tekstu
- 5. Pole tekstowe z sugestiami rozwijanymi
- 6. Niereferowalne pole tekstowe
- 7. Sprawdź, czy pole tekstowe ma wartość pusta
- 8. Sprawdź, czy pole tekstowe zawiera tylko liczby.
- 9. Nieeksportowalne pole tekstowe wxPython
- 10. Arabskie pole tekstowe
- 11. Włączanie i wyłączanie pola tekstowego, jeśli zaznaczono to pole wyboru:
- 12. Automatycznie wypełnij pole tekstowe asp.net
- 13. Pole tekstowe NumberFormat bez przecinków
- 14. ValidationRule dla WPF pole tekstowe
- 15. Jak sprawdzić, czy zaznaczono JCheckBox?
- 16. Pole tekstowe z "nową linią"
- 17. asp.net Walidator na pole tekstowe
- 18. Google Suggestish pole tekstowe (autouzupełnianie)
- 19. Zaktualizuj pole tekstowe podczas pisania
- 20. Proste jQuery - ukryj pole tekstowe
- 21. Zgłoszenie zatrzymania Jquery należy przesłać, chyba że zaznaczono pole wyboru:
- 22. Jak określić, które pole tekstowe jest aktywne?
- 23. Jak ustawić pole tekstowe jako pole wyboru w django
- 24. Czy zostanie wyłączone pole tekstowe, gdy formularz zostanie POSTED?
- 25. Sprawdź, czy wejście jest pole tekstowe, select, textarea lub radiowy
- 26. Sprawdź, czy pole tekstowe Swift zawiera zakaz spacje
- 27. Unikalne pole tekstowe w MySQL i php
- 28. Jak ustawić pole tekstowe w kodzie?
- 29. Waliduj numeryczne pole tekstowe w jQuery
- 30. Reklamowe pole tekstowe jak w liczbach
Dzięki, ale jak mogę uzyskać obiekt jQuery z document.activeElement? –
$ (document.activeElement) –
To nie sprawdza edytowalnych HTMLDivElements. Zobacz moją odpowiedź poniżej. –