smiady
4.11.2013, 12:49:08
Witam.
Mam dość trywialny problem z inputem ... Otóż mam bazę danych w tabeli z widgetem tablesorter, gdzie ustawiona jest opcja filtracji, która reaguje na zmiany już po wpisaniu jednego znaku.
Chcę, aby w programie zwracało mi dynamicznie ilość wierszy tylko, że pojawił się problem. Zdarzenie change działa tylko gdy opuszczę inputa, albo nacisnę enter. Zdarzenia keypress, keydown, keyup nie biorą pod uwagę znaków numerycznych i backspace (a to jest konieczne).
Czy jakieś zdarzenie, które reaguje na naciśniecie KAŻDEGO przycisku ?
SmokAnalog
4.11.2013, 12:55:17
To prawda, change na inpucie jest bezużyteczne w większości przypadków. Pierwsze słyszę, żeby keypress, keydown i keyup nie uwzględniały cyfr i backspace.
Niemniej jednak ja używam zdarzenia "input", które zostało wprowadzone w HTML5. Jest idealne do takich celów, no ale w starych przeglądarkach nie działa
musiałeś coś źle napisać bo keyup i keydown działa na backspace
http://www.quirksmode.org/dom/events/tests/keys.html
smiady
4.11.2013, 13:19:36
Backspace reaguje na:
keydown on text
keydown on form
keydown on #document
keydown on window
keyup on text
keyup on form
keyup on #document
keyup on window
a ja ten input nie mam w form to może dla tego no chyba, że text oznacza input type=text.
Po wpisaniu jednego znaku zmiany nie ma, a jest dopiero po enterze. Coś tu jest nie tak ...
Nie moge znaleźć zdarzenia input gdzie to jest ?
Zauważyłem, że tablesorter generuje input type search a nie text, więc tu może leżyć problem ...
fajnie było by jakbyś wrzucił kod za to odpowiedzialny na
http://jsfiddle.net/@całkiem możliwe ze jest to przez search
SmokAnalog
4.11.2013, 13:29:04
Zdarzenie input to po prostu:
$("#element").on("input", function () {
// coś się dzieje
});