Mengapa Focus() Tidak Berfungsi dalam IE dan Bagaimana Saya Boleh Membetulkannya?

Linda Hamilton
Lepaskan: 2024-11-02 06:41:02
asal
675 orang telah melayarinya

Why Doesn't Focus() Work in IE and How Can I Fix It?

Fokus Tidak Berfungsi dalam IE: A Resolution

Dalam situasi di mana fungsi focus() gagal berfungsi dalam IE7, pendekatan alternatif diperlukan untuk meletakkan kursor dalam medan input.

Untuk menangani isu ini dalam IE, manfaatkan fungsi setTimeout kerana tingkah laku pelaksanaannya yang tertangguh. Laksanakan kod berikut:

<code class="javascript">setTimeout(function() { document.getElementById('myInput').focus(); }, 10);</code>
Salin selepas log masuk

Kod ini memulakan kelewatan selama 10 milisaat sebelum melaksanakan fungsi fokus(), menampung respons tertunda IE.

Walau bagaimanapun, masalah mungkin berterusan dalam Opera. Pertimbangkan untuk meneroka penyelesaian yang berpotensi untuk menetapkan fokus dalam Opera.

Penyelesaian lanjutan, memenuhi situasi di mana elemen mungkin tidak tersedia, melibatkan mencuba semula dengan kelewatan yang singkat sehingga elemen itu boleh diakses. Ini memastikan keserasian dengan halaman dimuatkan perlahan atau elemen yang mengambil masa untuk dimuatkan. Laksanakan kod berikut:

<code class="javascript">setTimeout(

function( ) {

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

}

, 10 ) ;</code>
Salin selepas log masuk

Kod ini menyediakan fungsi setTimeout rekursif yang menyemak ketersediaan elemen dan cuba memfokus padanya setiap 10 milisaat sehingga berjaya.

Atas ialah kandungan terperinci Mengapa Focus() Tidak Berfungsi dalam IE dan Bagaimana Saya Boleh Membetulkannya?. 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!