用Javascript在编辑框和TextArea的光标处插入文字,支持连续插入

来源:未知 责任编辑:责任编辑 发表时间:2014-05-10 12:24 点击:
001
<html>
002
 
003
<head>
004
 
005
<title>Test of inserting characters at cursor position</title>
006
 
007
<script type="text/javascript" src="jquery.pack.js"></script>
008
 
009
<script>
010
 
011
function setCaret(textObj){
012
 
013
  if(textObj.createTextRange){  
014
 
015
    textObj.caretPos=document.selection.createRange().duplicate();  
016
 
017
  }
018
 
019
}
020
 
021
function insertAtCaret(textObj,textFeildValue){
022
 
023
  if(document.all&&textObj.createTextRange&&textObj.caretPos){     
024
 
025
      var caretPos=textObj.caretPos;    
026
 
027
      caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==''?textFeildValue+'':textFeildValue;
028
 
029
  }else if(textObj.setSelectionRange){      
030
 
031
      var rangeStart=textObj.selectionStart;
032
 
033
      var rangeEnd=textObj.selectionEnd;   
034
 
035
      var tempStr1=textObj.value.substring(0,rangeStart);    
036
 
037
      var tempStr2=textObj.value.substring(rangeEnd);    
038
 
039
      textObj.value=tempStr1+textFeildValue+tempStr2;
040
 
041
      textObj.focus();
042
 
043
      var len=textFeildValue.length;
044
 
045
      textObj.setSelectionRange(rangeStart+len,rangeStart+len);
046
 
047
      textObj.blur();
048
 
049
  }else {
050
 
051
    textObj.value+=textFeildValue;
052
 
053
  }
054
 
055
}
056
 
057
$(document).ready(function(){
058
 
059
   if($.browser.msie){
060
 
061
     $("#tag")
062
 
063
       .click(function(){
064
 
065
         setCaret($(this).get(0));
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Gb2312转utf-8编码的方法(vbs+js)
  • 如何使用Ajax技术开发Web应用程序(1)
  • js跳转路径问题
  • JavaScript模仿桌面窗口
  • 用js检测两个线段是否相交
  • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
  • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
  • 我是如何去了解jquery的(六),案例之幻灯片轮换
  • Jquery封装幻灯片效果
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1