我有一个文本框,我需要将焦点/光标设置在文本框的必需索引处 在歌剧浏览器中。
答案 0 :(得分:0)
<强> Working Demo 强>
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:光标的位置
答案 1 :(得分:0)
你的代码工作正常,但在歌剧中发生冲突。
becoz以下代码段
if(elem.createTextRange) {
也适用于opera,但createTextRange'll仅受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();
}
}
}