回答:
このonBlurイベントは、必ずしも値を変更せずにオブジェクトから離れたときに発生します。
onChangeあなたは、フィールドの値を変更しているし、それがフォーカスを失ったときにイベントは、呼ばれています。
quirksmodeのイベントの紹介をご覧ください。これは、ブラウザーと対話するときにブラウザーで何が行われているのかについての情報を取得するのに最適な場所です。彼の本も良いです。
onblurはフィールドがフォーカスを失ったときに発生し、onchangeはそのフィールドの値が変化したときに発生します。ただし、これらのイベントは常に同じ順序で発生するとは限りません。
Firefoxでは、変更されたフィールドからタブ移動すると、onchangeとonblurが発生します。通常、IEでも同じことが行われます。ただし、タブの代わりにEnterキーを押すと、Firefoxではonblur、onchangeの順に起動しますが、IEは通常、元の順序で起動します。ただし、IEが最初にぼかしを発射する場合もあるので、注意してください。onblurかonchangeのどちらかが他のものの前に発生するとは限りません。
物事を具体化する例。このように選択した場合:
<select onchange="" onblur="">
<option>....
</select>
これonblur()は、ナビゲートしたときに呼び出されます。これonchange()は、選択から別のオプションを選択したときに呼び出されます-つまり、現在選択されているものを変更します。
number、上向き/下向き矢印をクリックすると、変更イベントが発生します(ただし、ぼかしイベントは発生しません)。一方、入力すると、フィールドがフォーカスを失ったときにのみ変更イベントが発生します。
ここで、onBlur()は関係なく発生することに注意してください。
これは便利なスレッドですが、明確にしていないのは、onBlur()が毎回実行されるということだけです。
onChange()は、値が変更されたときにのみ発生します。