首頁 > web前端 > css教學 > 如何在 IE 和 Opera 中聚焦複製的輸入欄位?

如何在 IE 和 Opera 中聚焦複製的輸入欄位?

Susan Sarandon
發布: 2024-10-31 13:23:01
原創
393 人瀏覽過

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

IE 和Opera 中的FOCUS 輸入欄位問題

問題:

問題:
function change() {
    var input = document.getElementById('pas');
    var input2 = input.cloneNode(false);
    input2.type = 'password';
    input.parentNode.replaceChild(input2, input);
    input2.focus();
}
登入後複製

以下程式碼失敗在Internet Explorer 7 中聚焦複製的輸入欄位:

IE 解:
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
登入後複製

Internet Explorer 在聚焦元素方面是出了名的「懶惰」 。要解決此問題,您可以使用setTimeout 函數:

Opera 解決方案:
  • 在Opera 中,您可能會遇到將焦點設定在建立的元素上的問題動態或在頁面載入後出現。請參閱以下資源以取得潛在的解決方案:

[如何在Opera 文字方塊上的所需索引中設定焦點](https://stackoverflow.com/questions/2099366/how- to-set- focus-in-required-index-on-textbox-for-opera)

增強的解決方案:
setTimeout(

    function( ) {

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

    }

, 10 ) ;
登入後複製

處理元素可能不可處理用的情況立即,您可以使用以下程式碼片段:此程式碼每10 毫秒重試一次聚焦元素,直到它可用,解決載入緩慢或元素出現延遲的潛在問題。

以上是如何在 IE 和 Opera 中聚焦複製的輸入欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板