使用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 && (elem.type || elem.href); };
或者,您可以使用以下方法檢查哪個元素具有焦點:
$(document.activeElement)
對於所有jQuery 版本
為了保證與不同jQuery 版本的兼容性,可以添加:focus選擇器,如下:
(function ($) { var filters = $.expr[":"]; if (!filters.focus) { filters.focus = function(elem) { return elem === document.activeElement && (elem.type || elem.href); }; } })(jQuery);
透過測試焦點,可以防止輸入獲得焦點且遊標懸停時邊框消失進出。
以上是如何使用 jQuery 檢查輸入是否有焦點?的詳細內容。更多資訊請關注PHP中文網其他相關文章!