try this out:<textarea id="txt1">0123456789</textarea>
<input type="button" value="show caret position" onclick="getCaretPos()"><br>
<input value="4" id="txt2">
<input type="button" value="select char" onclick="selectChar(txt2.value)">
<script>
function getCaretPos()
{
txt1.focus(); var currentRange=document.selection.createRange();
var workRange=currentRange.duplicate(); txt1.select();
var allRange=document.selection.createRange();
var len=0; while(workRange.compareEndPoints("StartToStart",allRange)>0)
{
workRange.moveStart("character",-1);
len++;
} currentRange.select(); alert(len);
}function selectChar(nPos)
{
var caretPos = txt1.createTextRange();
caretPos.move("character",nPos);
caretPos.expand("character");
caretPos.select();
txt1.focus();
}
</script>
<input type="button" value="show caret position" onclick="getCaretPos()"><br>
<input value="4" id="txt2">
<input type="button" value="select char" onclick="selectChar(txt2.value)">
<script>
function getCaretPos()
{
txt1.focus(); var currentRange=document.selection.createRange();
var workRange=currentRange.duplicate(); txt1.select();
var allRange=document.selection.createRange();
var len=0; while(workRange.compareEndPoints("StartToStart",allRange)>0)
{
workRange.moveStart("character",-1);
len++;
} currentRange.select(); alert(len);
}function selectChar(nPos)
{
var caretPos = txt1.createTextRange();
caretPos.move("character",nPos);
caretPos.expand("character");
caretPos.select();
txt1.focus();
}
</script>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货