Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Semak sama ada Input Mempunyai Fokus Menggunakan jQuery?

Bagaimana untuk Semak sama ada Input Mempunyai Fokus Menggunakan jQuery?

Patricia Arquette
Patricia Arquetteasal
2024-11-15 03:22:02398semak imbas

How to Check if an Input Has Focus Using jQuery?

Menggunakan jQuery untuk Menguji jika Input Mempunyai Fokus

Dilema ini timbul apabila menggunakan jQuery untuk meniru CSS :kelakuan hover untuk elemen selain < ;a> dalam IE6. Sempadan mengelilingi

hilang apabila input dalam borang mendapat fokus dan kursor tetikus melayang masuk dan keluar.

Untuk menangani perkara ini, jQuery boleh digunakan untuk menyemak sama ada sebarang input dalam borang mempunyai fokus. Walau bagaimanapun, kerana jQuery tidak mempunyai pemilih :focus, kaedah alternatif mesti digunakan.

jQuery 1.6

Dengan jQuery 1.6 dan ke atas, pemilih :focus tersedia. Kod berikut boleh digunakan untuk menyemak fokus:

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

jQuery 1.5 dan Di Bawah

Untuk versi jQuery terdahulu, kod berikut boleh digunakan untuk mentakrifkan pemilih baharu dan semak fokus:

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

Sebagai alternatif, anda boleh menyemak elemen yang mempunyai fokus menggunakan:

$(document.activeElement)

Untuk Semua Versi jQuery

Untuk memastikan keserasian dengan versi jQuery yang berbeza, anda boleh menambah pemilih :focus seperti berikut:

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

Dengan menguji fokus, sempadan boleh dihalang daripada hilang apabila input memperoleh fokus dan kursor melayang ke dalam dan keluar.

Atas ialah kandungan terperinci Bagaimana untuk Semak sama ada Input Mempunyai Fokus Menggunakan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn