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 文字方塊上的所需索引中設定焦點](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 ) ;
以上是如何在 IE 和 Opera 中聚焦複製的輸入欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!