Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menggunakan jQuery untuk Mengesan Fokus Input dan Mencegah Pembuangan Sempadan pada Tetikus Keluar?

Bagaimanakah Saya Boleh Menggunakan jQuery untuk Mengesan Fokus Input dan Mencegah Pembuangan Sempadan pada Tetikus Keluar?

Susan Sarandon
Lepaskan: 2024-11-29 02:50:10
asal
408 orang telah melayarinya

How Can I Use jQuery to Detect Input Focus and Prevent Border Removal on Mouse Out?

Menggunakan jQuery untuk Menentukan Fokus Input dan Mencegah Pembuangan Sempadan

Dalam usaha untuk mencapai keserasian merentas pelayar, penggunaan .hover jQuery () kaedah untuk meniru CSS :hover pada bukan elemen dalam Internet Explorer 6 telah membawa kepada isu yang tidak dijangka. Apabila input dalam salah satu daripada

s ini mendapat fokus, sempadan yang dicipta oleh kaedah .hover() hilang apabila tetikus keluar.

Untuk menyelesaikannya, kami berusaha untuk memastikan sama ada sebarang input memfokuskan tetikus keluar. Memandangkan jQuery tidak mempunyai pemilih :focus, kaedah alternatif diperlukan.

jQuery 1.6 dan Di Atas

jQuery 1.6 termasuk pemilih :focus, menghapuskan keperluan untuk pelaksanaan tersuai. Hanya gunakan $("..").is(":focus") untuk menyemak input terfokus.

jQuery 1.5 dan Di Bawah

Untuk versi jQuery yang lebih awal, adalah disyorkan untuk menentukan pemilih :fokus tersuai. Ini boleh dicapai dengan:

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

Ini memastikan bahawa hanya kawalan bentuk dan hiperpautan dianggap fokus.

Sebagai alternatif, anda boleh menggunakan:

if ($("...").is(":focus")) { ... }
Salin selepas log masuk

atau:

$("input:focus").doStuff();
Salin selepas log masuk

Semua jQuery Versi

Untuk menentukan elemen mana yang mempunyai fokus, tanpa mengira versi jQuery, gunakan:

$(document.activeElement)
Salin selepas log masuk

Menyemak Pemilih :fokus Hilang

Jika anda tidak pasti versi jQuery, anda boleh menambah pemilih :focus secara manual:

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

Dengan menggunakan teknik ini, anda boleh mengekalkan gelagat sempadan yang diingini sambil menyesuaikan diri dengan pengehadan khusus penyemak imbas.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan jQuery untuk Mengesan Fokus Input dan Mencegah Pembuangan Sempadan pada Tetikus Keluar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan