--- title: blur (event) slug: Web/API/Element/blur_event translation_of: Web/API/Element/blur_event original_slug: Web/Events/blur ---

当一个元素失去焦点的时候 blur 事件被触发。它和 focusout 事件的主要区别是 focusout 支持冒泡。

常规信息

规范
DOM L3
接口
{{domxref("FocusEvent")}}
是否冒泡
可取消默认行为
目标对象
元素(Element)
默认行为

{{NoteStart}}{{domxref("Document.activeElement")}} 的值随浏览器的不同而不同 ({{bug(452307)}}): IE10把值设为焦点将要移向的对象 , 而Firefox和Chrome 往往把值设为body .{{NoteEnd}}

属性

属性 类型 描述
target {{readonlyInline}} {{domxref("EventTarget")}} 产生该事件的对象(DOM树中最顶级的那个对象).
type {{readonlyInline}} {{domxref("DOMString")}} 事件类型.
bubbles {{readonlyInline}} {{jsxref("Boolean")}} 该事件是否冒泡.
cancelable {{readonlyInline}} {{jsxref("Boolean")}} 该事件是否可取消默认行为.
relatedTarget {{readonlyInline}} {{domxref("EventTarget")}} (DOM 元素)

事件代理

有两种方法来为这个事件实现事件代理:在支持 focusout 事件的浏览器中使用 focusout 事件(除了 FireFox 以外的浏览器都支持 focusout)或者通过设置 addEventListener 方法的第三个参数 "useCapture" 为 true:

HTML Content

<form id="form">
  <input type="text" placeholder="text input">
  <input type="password" placeholder="password">
</form>

JavaScript Content

var form = document.getElementById("form");
form.addEventListener("focus", function( event ) {
  event.target.style.background = "pink";
}, true);
form.addEventListener("blur", function( event ) {
  event.target.style.background = "";
}, true);

{{EmbedLiveSample('Event_delegation')}}

浏览器兼容性

{{Compat("api.Element.blur_event")}}

相关的事件