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 mana yang mempunyai fokus menggunakan:
$(document.activeElement)
Untuk Semua Versi jQuery
Untuk memastikan keserasian dengan versi jQuery yang berbeza, anda boleh menambah pemilih :fokus 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 berlegar masuk 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!