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