Chcę wykonać funkcję za każdym razem, gdy zmienia się wartość określonego pola wejściowego. To niemal pracuje $('input').keyup(function)
, ale nic się nie dzieje podczas wklejania tekstu w polu, na przykład. $input.change(function)
uruchamia się tylko wtedy, gdy dane wejściowe są zamazane, więc skąd mam natychmiast wiedzieć, gdy pole tekstowe zmieniło wartość?
159
keyup
ipaste
wydarzeń?paste
to tylko jedna z tych rzeczy , o których pomyślałem. Wolę raczej posłuchać ostatecznej zmiany, niż myśleć o różnych nadchodzących ścieżkach.cut
).Odpowiedzi:
pamiętaj tylko, że 'on' jest zalecane zamiast funkcji 'bind', więc zawsze staraj się używać detektora zdarzeń w ten sposób:
źródło
paste
jednak? Najpierw pomyślałem, że zadziała tylko wtedy, gdy wkleimy coś zCTRL+V
.console.log()
zamiastalert
. Byłoby bardzo irytujące dla kluczaalert
.Opis
Możesz to zrobić za pomocą
.bind()
metody jQuery . Sprawdź jsFiddle .Próba
HTML
jQuery
Więcej informacji
źródło
Spróbuj tego .. kredytów na https://stackoverflow.com/users/1169519/teemu
za odpowiedź na moje pytanie tutaj:
/programming/24651811/jquery-keyup-doesnt-work-with-keycode-filtering?noredirect=1#comment38213480_24651811To rozwiązanie pomogło mi w realizacji mojego projektu.
Uwaga: zmiana właściwości dla niższych wersji IE.
źródło
możesz również użyć wydarzeń w polu tekstowym -
Spróbuj tego
źródło
Spróbuj tego:
Zasadniczo wystarczy wziąć pod uwagę każde zdarzenie:
HTML:
JQuery:
źródło
wybierz, aby wyświetlić sugestię przeglądarki
źródło
Spróbuj tego:
źródło
Użyj tego: https://github.com/gilamran/JQuery-Plugin-AnyChange
Obsługuje wszystkie sposoby zmiany danych wejściowych, w tym menu zawartości (za pomocą myszy)
źródło
U mnie zadziałało takie połączenie wydarzeń:
źródło
NIE ZAPOMNIJ O
cut
lubselect
wydarzeniach!Przyjęta odpowiedź jest prawie idealna, ale zapomina o
cut
iselect
wydarzeniach .cut
jest uruchamiany, gdy użytkownik wycina tekst (CTRL + X lub przez kliknięcie prawym przyciskiem myszy)select
jest uruchamiany, gdy użytkownik wybierze opcję sugerowaną przez przeglądarkęPowinieneś je również dodać, jako takie:
źródło