首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTML中的onBlur和onChange属性有什么不同?

HTML中的onBlur和onChange属性有什么不同?
EN

Stack Overflow用户
提问于 2009-04-24 09:13:03
回答 6查看 156.4K关注 0票数 131

什么时候调用一个而不是另一个?会不会出现调用onChange但不调用onBlur的情况?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-04-24 09:15:13

当您从对象移开而不一定更改其值时,将激发onBlur事件。

仅当您更改了字段的值并失去焦点时,才会调用onChange事件。

你可能想看看quirksmode's intro to events。这是一个很好的地方,当你与浏览器交互时,你可以获得浏览器中正在发生的事情的信息。他的书也很好。

票数 191
EN

Stack Overflow用户

发布于 2009-05-16 23:34:00

onblur在字段失去焦点时触发,而onchange在该字段的值发生变化时触发。然而,这些事件并不总是以相同的顺序发生。

在Firefox中,跳出已更改的字段将触发onchange然后onblur,在IE中通常也会执行相同的操作。然而,如果你按enter键而不是Tab键,在Firefox中它会触发onblur然后onchange,而IE通常会按原始顺序触发。然而,我见过IE也会先触发模糊的情况,所以要小心。您不能假设onblur或onchange会在另一个之前发生。

票数 27
EN

Stack Overflow用户

发布于 2009-04-24 09:19:50

一个让事情具体化的例子。如果您的选择如下所示:

代码语言:javascript
复制
<select onchange="" onblur="">
  <option>....
</select>

当您导航离开时,将调用onblur()。当你从选择中选择了一个不同的选项时,onchange()就会被调用--也就是说,你改变了当前选择的内容。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/785099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档