Mar*_*son 162
onBlur当您离开对象而不必更改其值时,将触发该事件.
onChange只有在更改了字段的值并且它失去焦点时才会调用该事件.
您可能想看看quirksmode的事件介绍.这是一个很好的地方,可以在您与浏览器进行交互时获取有关浏览器内容的信息.他的书也很好.
小智 20
当一个字段失去焦点时,onblur会触发,而当该字段的值发生变化时,onchange会触发.但是,这些事件并不总是以相同的顺序发生.
在Firefox中,标记出更改的字段将触发onchange然后onblur,它通常在IE中执行相同操作.但是,如果按下回车键而不是选项卡,在Firefox中它将触发onblur然后onchange,而IE通常会按原始顺序触发.但是,我已经看到IE首先会出现模糊的情况,所以要小心.您不能假设onblur或onchange将在另一个之前发生.
Bri*_*new 10
一个让事情变得具体的例子.如果您有这样的选择:
<select onchange="" onblur="">
  <option>....
</select>
在onblur()当您离开时被调用.该onchange()即你改变就是它的当前选择-当你从选择不同的选项调用.
在Firefox中,onchange仅在您选项卡时触发,或者在输入字段外单击.Onblur也是如此.不同之处在于,无论你是否在场上改变任何东西,都会触发onblur.ENTER可能会触发其中一个或两个,但如果您在表单中禁用ENTER以防止意外提交,则您不会知道.
onChange 是指字段中的某些内容发生更改,例如,您在文本输入中写入内容。
onBlur 是当您将焦点从某个字段移开时,例如,您正在文本输入中书写,然后单击了它。
所以实际上它们几乎是相同的事情,但是 onChange 的行为方式与 onBlur 在输入中需要更改的方式相同。