Rumah >hujung hadapan web >tutorial css >Bagaimana untuk Memfokuskan Medan Input Klon dalam IE dan Opera?

Bagaimana untuk Memfokuskan Medan Input Klon dalam IE dan Opera?

Susan Sarandon
Susan Sarandonasal
2024-10-31 13:23:01441semak imbas

How to Focus a Cloned Input Field in IE and Opera?

Isu Medan Input FOKUS dalam IE dan Opera

Masalah:

Kod di bawah gagal untuk memfokuskan medan input klon dalam Internet Explorer 7:

function change() {
    var input = document.getElementById('pas');
    var input2 = input.cloneNode(false);
    input2.type = 'password';
    input.parentNode.replaceChild(input2, input);
    input2.focus();
}

Penyelesaian untuk IE:

Internet Explorer terkenal "malas" apabila memfokuskan elemen. Untuk menyelesaikan masalah ini, anda boleh menggunakan fungsi setTimeout:

setTimeout(function() { document.getElementById('myInput').focus(); }, 10);

Penyelesaian untuk Opera:

Dalam Opera, anda mungkin menghadapi masalah menetapkan fokus pada elemen yang dicipta secara dinamik atau muncul selepas halaman dimuatkan. Rujuk sumber berikut untuk penyelesaian yang berpotensi:

  • [Cara menetapkan fokus dalam indeks yang diperlukan pada kotak teks untuk Opera](https://stackoverflow.com/questions/2099366/how-to-set- fokus-dalam-indeks-diperlukan-pada-kotak-teks-untuk-opera)

Dipertingkat Penyelesaian:

Untuk mengendalikan kes di mana elemen mungkin tidak tersedia serta-merta, anda boleh menggunakan coretan berikut:

setTimeout(

    function( ) {

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

    }

, 10 ) ;

Kod ini cuba memfokuskan semula elemen setiap 10 milisaat sehingga ia tersedia, menangani isu yang berpotensi dengan pemuatan perlahan atau penampilan elemen tertunda.

Atas ialah kandungan terperinci Bagaimana untuk Memfokuskan Medan Input Klon dalam IE dan Opera?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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