Rumah > Artikel > hujung hadapan web > Bagaimana untuk Semak sama ada Input Mempunyai Fokus Menggunakan 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
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 && (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 && (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!