複数のテキスト入力フィールドを含む大きなフォームがあります。基本的に、すべてのフィールドのイベントといくつかonchange
のフィールドのイベントを処理する必要があります。フィールドに変更が加えられ、フィールドがフォーカスを失うと、両方のイベントが発生します (これは正しい動作です)。
唯一の問題は、イベントを処理する前にイベントを処理したいということです。 onblur
onblur
onchange
ie と Firefox でいくつかのテストを行った結果、デフォルトの動作は のonchange
前にイベントを発生させるようですonblur
。次のコードをテストとして使用しています...
<html>
<body >
<input type="text" value="here is a text field" onchange="console.log('Change Event!')" onblur="console.log('Blur Event!')" >
</body>
</html>
それは私の質問に私をもたらします:
この動作はブラウザ間で一貫しているようです。なぜ
onchange
最初に発火するのですか?すべての入力要素のイベントを処理できないため、イベントを処理する前に発生さ
onblur
せる方法はありますか?onblur
onchange