我有一个文本框,我需要在opera浏览器中的文本框的所需索引处设置焦点/光标。
发布于 2009-09-17 01:56:29
你的代码运行得很好,但在歌剧中却有冲突。
因为下面的代码片段
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();
}
}
}
发布于 2009-09-16 01:05:55
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:光标的位置
https://stackoverflow.com/questions/1431802
复制