首頁 >web前端 >js教程 >如何使用 jQuery 檢查輸入是否有焦點?

如何使用 jQuery 檢查輸入是否有焦點?

Patricia Arquette
Patricia Arquette原創
2024-11-15 03:22:02457瀏覽

How to Check if an Input Has Focus Using jQuery?

使用jQuery 測試輸入是否具有焦點

使用jQuery 複製CSS :hover 行為(除< 之外的元素)時會出現這種困境;a>在IE6。

周圍的邊框當表單中的輸入獲得焦點且滑鼠遊標懸停進出時消失。

為了解決此問題,可以使用 jQuery 檢查表單中的任何輸入是否有焦點。但是,由於 jQuery 缺少 :focus 選擇器,因此必須採用替代方法。

jQuery 1.6

對於 jQuery 1.6 及更高版本,可以使用 :focus 選擇器。以下程式碼可用於檢查焦點:

$("..").is(":focus")

jQuery 1.5 及以下

對於早期的 jQuery版本,以下程式碼可用於定義新選擇器並檢查焦點:

jQuery.expr[':'].focus = function(elem) {
  return elem === document.activeElement &amp;&amp; (elem.type || elem.href);
};

或者,您可以使用以下方法檢查哪個元素具有焦點:

$(document.activeElement)

對於所有jQuery 版本

為了保證與不同jQuery 版本的兼容性,可以添加:focus選擇器,如下:

(function ($) {
  var filters = $.expr[":"];
  if (!filters.focus) {
    filters.focus = function(elem) {
      return elem === document.activeElement &amp;&amp; (elem.type || elem.href);
    };
  }
})(jQuery);

透過測試焦點,可以防止輸入獲得焦點且遊標懸停時邊框消失進出。

以上是如何使用 jQuery 檢查輸入是否有焦點?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn