Bagaimana untuk Menyelesaikan Isu fokus() dalam IE7 dan Pelayar Lain?

Susan Sarandon
Lepaskan: 2024-11-01 03:37:28
asal
470 orang telah melayarinya

How to Solve the focus() Issue in IE7 and Other Browsers?

IE Focus() Issue

Dalam sesetengah penyemak imbas, seperti IE7, kaedah focus() pada elemen input mungkin tidak berfungsi seperti yang diharapkan . Ini boleh menyebabkan kursor tidak diletakkan di dalam medan input.

Penyelesaian untuk IE

Untuk menyelesaikan isu ini dalam IE, fungsi setTimeout boleh digunakan untuk melengahkan operasi fokus. Ini memaksa IE untuk mengakui perubahan dan meletakkan kursor dengan betul. Berikut ialah contoh:

setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
Salin selepas log masuk

Penyelesaian Alternatif

Jika penyelesaian setTimeout tidak berfungsi dalam Opera, pendekatan lain boleh diambil. Dengan memilih elemen mengikut ID, menggunakan kaedah cloneNode() dan menggantikannya dengan elemen klon, fokus akan ditetapkan.

Penyelesaian Dikembangkan untuk Halaman Pemuatan Lambat

Dalam kes di mana elemen input tidak tersedia kerana halaman dimuatkan perlahan atau pemaparan lewat, penyelesaian yang lebih mantap diperlukan. Coretan kod berikut mencuba semula operasi fokus selepas selang masa yang singkat sehingga elemen tersedia:

setTimeout(

function( ) {

    var el = document.getElementById( "myInput" ) ;
    ( el != null ) ? el.focus( ) : setTimeout( arguments.callee , 10 ) ;

}

, 10 ) ;
Salin selepas log masuk

Pendekatan ini terus mencuba untuk menetapkan fokus sehingga elemen hadir dalam DOM.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Isu fokus() dalam IE7 dan Pelayar Lain?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!