posts - 1,  comments - 0,  trackbacks - 0
  2011年11月24日
昨天研究了一下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(); 
  }
 
}

posted @ 2011-11-24 14:29 小鹏 阅读(1355) | 评论 (0)编辑 收藏
仅列出标题  
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿

随笔档案

搜索

  •  

最新评论