Zastanawiam się tylko, czy ktoś wie, jakie zdarzenia wywołuje <input type="number" />
element HTML5 po kliknięciu jego strzałek w górę / w dół:
Używam już znaku onblur
for, gdy fokus opuszcza pole wejściowe.
javascript
html
Ian Oxley
źródło
źródło
Odpowiedzi:
change
byłoby zdarzeniem uruchamianym w przypadku zmiany wartości pola.Myślę, że zdarzenie HTML5
input
również by się uruchomiło.źródło
oninput
jest uruchamiany tylko po kliknięciu strzałek „w górę” i „w dół”.change
nie uruchamia się po wpisaniu wartości, tylko po kliknięciu przycisków (przynajmniej w przeglądarce Firefox).input
jest jak połączeniekeyup change
Zauważyłem, że w przypadku jQuery następujący kod obejmował wprowadzanie z klawiatury, zmiany kółka myszy i kliknięcia przycisków w przeglądarce Chrome, a także obsługiwał wprowadzanie z klawiatury w przeglądarce Firefox
$("input[type=number]").bind('keyup input', function(){ // handle event });
źródło
.bind()
jest to teraz przestarzałe na korzyść.on()
Znalazłem to
onkeyup
ionchange
omówiłem wszystko w Chrome 19. Obsługuje to bezpośrednie wprowadzanie wartości, naciśnięcie klawisza strzałki w górę w dół, klikanie przycisków i przewijanie kółka myszy.onchange
Samo byłoby wystarczające w Chrome, ale inne przeglądarki, które renderują pole tylko jako pole tekstowe, potrzebująonkeyup
powiązania, które działa doskonale, aby odczytać nową wartość.Wiązanie
mousewheel
wydarzenia osobno było mniej skuteczne. Zdarzenie zostało uruchomione zbyt wcześnie - przed zaktualizowaniem wartości pola - i dlatego zawsze podawało poprzednią wartość polaźródło
W
onchange
Zdarzenie na rozmycie aleoninput
Zdarzenie podczas pisania. Może chcesz ustawić licznik czasu woninput
zdarzeniu i uruchomić jeonchange
, gdy użytkownik przestał pisać na sekundę?źródło
Istnieje bieżący błąd w Edge, który uniemożliwia uruchomienie zmian lub danych wejściowych podczas używania klawiszy strzałek podczas wprowadzania liczb.
źródło