Rumah > Artikel > hujung hadapan web > Mengapa `fokus()` tidak berfungsi dalam Internet Explorer dan Opera?
Memfokuskan Medan Input dalam Internet Explorer dan Opera
Apabila menggunakan kaedah fokus() dalam JavaScript, beberapa isu mungkin timbul dalam penyemak imbas tertentu. Soalan ini menyerlahkan masalah di mana focus() tidak berfungsi dalam Internet Explorer 7, meninggalkan kursor di luar medan input yang dikehendaki.
Penyelesaian untuk Internet Explorer:
Dalam Internet Explorer, focus() memerlukan perhatian tambahan kerana sifat malasnya. Untuk menyelesaikan isu ini, gunakan fungsi setTimeout(). Contohnya:
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
Penyelesaian untuk Opera:
Untuk Opera, pertimbangkan untuk meneroka penyelesaian yang berkaitan dengan menetapkan fokus dalam indeks yang diperlukan pada kotak teks.
Peningkatan Pengendalian untuk Ketersediaan Elemen Tertunda:
Dalam sesetengah kes, elemen mungkin tidak tersedia serta-merta, mengakibatkan medan input tidak fokus. Untuk menangani perkara ini, kod yang dipertingkatkan berikut mencuba semula fokus selepas selang masa yang singkat:
setTimeout( function( ) { var el = document.getElementById( "myInput" ) ; ( el != null ) ? el.focus( ) : setTimeout( arguments.callee , 10 ) ; } , 10 ) ;
Atas ialah kandungan terperinci Mengapa `fokus()` tidak berfungsi dalam Internet Explorer dan Opera?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!