událost onInput

Kódování HTML formulářů bylo bolestné celou moji kariéru. Ovládací prvky formuláře vypadají mezi operačními systémy a prohlížeči odlišně, ověřování na straně klienta a serveru je noční můrou a nevyhnutelně někde zapomenete. Některá chování nefungují tak, jak byste doufali, například onChange , který se spustí pouze tehdy, když uživatel odejde (blur s) daný formulář ovládá. Zadejte onInput událost, která se změní po stisknutí klávesy, vložení atd.

// Try it here:  https://codepen.io/darkwing/pen/KKmBNvg
myInput.addEventListener('input', e => {
  console.log(e.target.value);
});

Dnes to vypadá jako starý onChange chování není užitečné – vždy chceme reagovat na jakýkoli vstup uživatele. onInput spouští se také u prvků s contenteditable a designmode atributy. Většina moderních knihoven JavaScriptu jako React zpracovává onChange jako onInput , takže je to jako onChange ztratilo využití!