當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JQuery .blur()用法及代碼示例


用法
.blur( handler ) => jQuery

說明:將事件處理程序綁定到 "blur" JavaScript 事件,或在元素上觸發該事件。

  • 添加的版本:1.0.blur( handler )

    • handler
      類型:Function(Event eventObject)
      每次觸發事件時執行的函數。
  • 添加的版本:1.4.3.blur( [eventData ], handler )

    • eventData
      類型:Anything
      包含將傳遞給事件處理程序的數據的對象。
    • handler
      類型:Function(Event eventObject)
      每次觸發事件時執行的函數。
  • 添加的版本:1.0.blur()

    • 此簽名不接受任何參數。

此方法是前兩個變體中.on( "blur", handler ) 和第三個變體中.trigger( "blur" ) 的快捷方式。

blur 事件在元素失去焦點時發送給它。最初,此事件僅適用於表單元素,例如 <input> 。在最近的瀏覽器中,事件的域已擴展為包括所有元素類型。元素可能會通過鍵盤命令(例如 Tab 鍵)或通過鼠標單擊頁麵上的其他位置而失去焦點。

例如,考慮 HTML:

<form>
  <input id="target" type="text" value="Field 1">
  <input type="text" value="Field 2">
</form>
<div id="other">
  Trigger the handler
</div>
The event handler can be bound to the first input field:
$( "#target" ).blur(function() {
  alert( "Handler for .blur() called." );
});

現在,如果第一個字段具有焦點,單擊其他地方或從它處移開會顯示警報:

.blur() 的處理程序被調用。

要以編程方式觸發事件,請應用不帶參數的.blur()

$( "#other" ).click(function() {
  $( "#target" ).blur();
});

這段代碼執行後,點擊觸發處理程序也會提醒消息。

blur 事件不會在 Internet Explorer 中冒泡。因此,依賴於 blur 事件的事件委托的腳本將無法在瀏覽器中始終如一地工作。然而,從 1.4.2 版本開始,jQuery 通過在其事件委托方法 .live() .delegate() 中將 blur 映射到 focusout 事件來解決此限製。

其他注意事項:

  • 由於 .blur() 方法隻是 .on( "blur", handler ) 的簡寫,因此可以使用 .off( "blur" ) 進行分離。

例子:

觸發所有段落的模糊事件:

$( "p" ).blur();

相關用法


注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .blur()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。