<textarea   onclick="alert(getCursorPos(this))" >
Thank you for help me!!
</textarea><script language=javascript>
//freefalcon//
function getCursorPos(obj) 
{
  obj.focus();
 var currentRange=document.selection.createRange();
 var workRange=currentRange.duplicate(); obj.select();
 var allRange=document.selection.createRange();
 var pos=0; while(workRange.compareEndPoints("StartToStart",allRange)>0)
 {
  workRange.moveStart("character",-1);
  pos++;
 } currentRange.select(); return pos;
}
function setCursorPos(obj,pos)
{
  var rng =obj.createTextRange();
  rng.moveStart('character',pos);
  rng.collapse(true);
  rng.select();
}
</script>

解决方案 »

  1.   

    以下是名叫小狗的朋友写的,可获得第几行第几列(状态栏中),我修改了其中的一个bug,你可以稍加改动,单独获取行或列<textarea rows=10 cols=100 onclick="getCursorPosition()" onkeydown="getCursorPosition()">
    北京时间10月6日,世界三大通讯社之一的法新社刊发图文报道,中国国脚孙继海因为在最近的世界杯预选赛中的表现,已经吸引了意大利俱乐部AC米兰和都灵队的争购。中国队只需在10月7日同阿曼队的比赛中战平就将首次进入世界杯决赛圈。图为孙继海(右)1998年12月19日在亚洲杯上的资料图片。
    </textarea><script language=JScript>
    function getCursorPosition(obj)
    {
    var src = obj ? obj : event.srcElement

    if (event && event.type == "keydown")
    {
    try{clearTimeout(time_textPosition)}catch(e){}
    time_textPosition = setTimeout("getCursorPosition(" +src.uniqueID+ ")", 1)
    }

    var oTR = src.createTextRange()
    var oSel = document.selection.createRange()
    var textLength = src.innerText.length
    var line, char, total, cl

    oTR.moveToPoint(oSel.offsetLeft, oSel.offsetTop)
    oTR.moveStart("character", -1*textLength)
    cl = oTR.getClientRects()
    line = cl.length
    if (oTR.text) total = oTR.text.match(/[^\r\n]/g).length
    total = total ? total : 0

    oTR.moveToPoint(cl[cl.length-1].left, cl[cl.length-1].top)
    oTR.moveStart("character", -1*textLength)
    if (oTR.text)char = total - oTR.text.match(/[^\r\n]/g).length
    else char=total
    char = char ? char : 0

    if (oSel.offsetTop != cl[cl.length-1].top)
    {
    line++
    char = 0
    } window.status = "行: " + line +", 列: " + char + ", 第 " + total + " 个字符"
    }
    </SCRIPT>
      

  2.   

    光标的帖子总结(Range的使用) 
    http://www.blueidea.com/bbs/NewsDetail.asp?id=603197