--- title: blur (event) slug: Web/API/Element/blur_event translation_of: Web/API/Element/blur_event original_slug: Web/Events/blur ---
当一个元素失去焦点的时候 blur 事件被触发。它和 focusout
事件的主要区别是 focusout 支持冒泡。
{{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:
<form id="form"> <input type="text" placeholder="text input"> <input type="password" placeholder="password"> </form>
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')}}