如何在Opera的文本框上设置所需索引的焦点
我有一个文本框,我需要在Opera浏览器中设置文本框所需索引的焦点/光标。
工作演示
function SetCaretPosition(elemId, caretPos) { var elem = document.getElementById(elemId); if(elem != null) { if(elem.createTextRange) { var range = elem.createTextRange(); range.move('character', caretPos); range.select(); } else { if(elem.selectionStart) { elem.focus(); elem.setSelectionRange(caretPos, caretPos); } else elem.focus(); } } }
elemId:元素的id
caretPos:光标的位置
你的代码工作正常,但在歌剧中发生冲突。
becoz以下代码片段
if(elem.createTextRange) {
也适用于opera,但createTextRange只能由IE支持。
所以我改变了你的代码中的一些修改
function SetCaretPosition(elemId, caretPos) { var elem = document.getElementById(elemId); if (elem != null) { if ($.browser.msie) { if (elem.createTextRange) { var range = elem.createTextRange(); range.move('character', caretPos); range.select(); } } else { if (elem.selectionStart) { elem.focus(); elem.setSelectionRange(caretPos, caretPos); } else elem.focus(); } } }