用法
.focus( handler ) => jQuery
.focus( handler ) => jQuery
說明:將事件處理程序綁定到 "focus" JavaScript 事件,或在元素上觸發該事件。
-
添加的版本:1.0
.focus( handler )
-
handler每次觸發事件時執行的函數。
-
-
添加的版本:1.4.3
.focus( [eventData ], handler )
-
eventData類型:Anything包含將傳遞給事件處理程序的數據的對象。
-
handler每次觸發事件時執行的函數。
-
-
添加的版本:1.0
.focus()
- 此簽名不接受任何參數。
- 此方法是第一和第二變體中
.on( "focus", handler )
和第三變體中.trigger( "focus" )
的快捷方式。 focus
事件在獲得焦點時發送到元素。此事件隱式適用於有限的元素集,例如表單元素(<input>
、<select>
等)和鏈接(<a href>
)。在最近的瀏覽器版本中,可以通過顯式設置元素的tabindex
屬性來擴展事件以包括所有元素類型。元素可以通過鍵盤命令(例如 Tab 鍵)或通過鼠標單擊元素獲得焦點。- 具有焦點的元素通常由瀏覽器以某種方式突出顯示,例如用虛線圍繞元素。焦點用於確定哪個元素最先接收keyboard-related 事件。
嘗試將焦點設置到隱藏元素會導致 Internet Explorer 出錯。注意僅在可見元素上使用.focus()
。要在不為元素設置焦點的情況下運行元素的焦點事件處理程序,請使用 .triggerHandler( "focus" )
而不是 .focus()
。
例如,考慮 HTML:
|
事件處理程序可以綁定到第一個輸入字段:
|
現在單擊第一個字段,或從另一個字段切換到它,顯示警報:
.focus() 的處理程序被調用。
我們可以在點擊另一個元素時觸發事件:
|
這段代碼執行後,點擊觸發處理程序也會提醒消息。
focus
事件不會在 Internet Explorer 中冒泡。因此,依賴於 focus
事件的事件委托的腳本將無法在瀏覽器中始終如一地工作。然而,從 1.4.2 版本開始,jQuery 通過在其事件委托方法
和 .live()
中將 .delegate()
focus
映射到 focusin
事件來解決此限製。
其他注意事項:
- 由於
.focus()
方法隻是.on( "focus", handler )
的簡寫,因此可以使用.off( "focus" )
進行分離。
例子:
火焦點。
|
演示:
要阻止人們在文本輸入框中書寫,請嘗試:
|
要在頁麵啟動時關注 id 'login' 的登錄輸入框,請嘗試:
|
相關用法
- JQuery .focusout()用法及代碼示例
- JQuery .focusin()用法及代碼示例
- JQuery .find()用法及代碼示例
- JQuery .fadeTo()用法及代碼示例
- JQuery .first()用法及代碼示例
- JQuery .fadeToggle()用法及代碼示例
- JQuery .filter()用法及代碼示例
- JQuery .finish()用法及代碼示例
- JQuery .fadeOut()用法及代碼示例
- JQuery .fadeIn()用法及代碼示例
- JQuery .jquery用法及代碼示例
- JQuery .scroll()用法及代碼示例
- JQuery .add()用法及代碼示例
- JQuery .contextmenu()用法及代碼示例
- JQuery .undelegate()用法及代碼示例
- JQuery .load()用法及代碼示例
- JQuery .contents()用法及代碼示例
- JQuery .empty()用法及代碼示例
- JQuery UI .labels()用法及代碼示例
- JQuery UI .addClass()用法及代碼示例
- JQuery .click()用法及代碼示例
- JQuery UI .toggleClass()用法及代碼示例
- JQuery .removeAttr()用法及代碼示例
- JQuery .addClass()用法及代碼示例
- JQuery UI .cssClip()用法及代碼示例
注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .focus()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。