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 onblurfor, gdy fokus opuszcza pole wejściowe.
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 onblurfor, gdy fokus opuszcza pole wejściowe.
Odpowiedzi:
change byłoby zdarzeniem uruchamianym w przypadku zmiany wartości pola.
Myślę, że zdarzenie HTML5 inputrównież by się uruchomiło.
oninputjest uruchamiany tylko po kliknięciu strzałek „w górę” i „w dół”.
changenie uruchamia się po wpisaniu wartości, tylko po kliknięciu przycisków (przynajmniej w przeglądarce Firefox).
inputjest 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
});
.bind()jest to teraz przestarzałe na korzyść.on()
Znalazłem to onkeyupi onchangeomó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.
onchangeSamo byłoby wystarczające w Chrome, ale inne przeglądarki, które renderują pole tylko jako pole tekstowe, potrzebują onkeyuppowiązania, które działa doskonale, aby odczytać nową wartość.
Wiązanie mousewheelwydarzenia 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
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.