昨天研究了一下js獲取光標位置的方法,在查了一些資料后,發現對于多瀏覽器支持是很重要的。下面是一些在網上找到的代碼,需要傳入一個文本域的id和我們想加入的值(value)
function getValue(objid,str){
var myField=document.getElementById(""+objid);
//IE瀏覽器
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = str;
sel.select();
}

//火狐/網景 瀏覽器
else if (myField.selectionStart || myField.selectionStart == '0')
{
//得到光標前的位置
var startPos = myField.selectionStart;
//得到光標后的位置
var endPos = myField.selectionEnd;
// 在加入數據之前獲得滾動條的高度
var restoreTop = myField.scrollTop;
myField.value = myField.value.substring(0, startPos) + str + myField.value.substring(endPos, myField.value.length);
//如果滾動條高度大于0
if (restoreTop > 0) {
// 返回
myField.scrollTop = restoreTop;
}
myField.focus();
myField.selectionStart = startPos + str.length;
myField.selectionEnd = startPos + str.length;
}
else {
myField.value += str;
myField.focus();
}
}

































