jquery實現的在游標處插入文字程式碼例項

admin發表於2017-02-24

有時候我們需要在游標所在處插入指定的內容,可以說這種操作應用相當的頻繁,本章節通過一段程式碼例項介紹一下如何實現此效果,程式碼如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>在游標處插入文字-螞蟻部落</title>
<style type="text/css">
body{
  padding:50px;
}
.cont{
  cursor:pointer
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
(function($){
  $.fn.extend({
    "insert":function(value){
      value=$.extend({
        "text":"123"
      },value);
    
      var dthis=$(this)[0]; 
    
      //IE下
      if(document.selection){
        $(dthis).focus();
        var fus=document.selection.createRange();
        fus.text=value.text;
        $(dthis).focus(); 
      }
      //火狐下標準 
      else if(dthis.selectionStart || dthis.selectionStart == '0'){
        var start=dthis.selectionStart; 
        var end=dthis.selectionEnd;
        var top=dthis.scrollTop;
        dthis.value=dthis.value.substring(0,start)+value.text+dthis.value.substring(end,dthis.value.length);
      }
      else{
        this.value+=value.text;
        this.focus(); 
      } 
      return $(this);
    }
  })
})(jQuery)
$(function(){
  $(".cont").click(function(){
    $(".tarea").insert({"text":"螞蟻部落"});
  })
})
</script>
</head>
<body>
  <div class="cont">點選我</div>
  <textarea class="tarea" name="" cols="50" rows="15">原來的內容</textarea>
</body>
</html>

相關文章