jquery在输入框光标处插入字符串

您的位置:3搜网 > 技术 > jquery在输入框光标处插入字符串

jquery在输入框光标处插入字符串

来源:3搜网分类:技术时间:2022-11-09 17:30:24浏览量:

关于jquery在输入框光标处插入字符串以下文字资料是由3搜网小编为大家搜集整理后发布的内容,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jquery在输入框光标处插入字符串”文章吧。

需求描述

我想实现,点击按钮,在输入框光标处插入字符串。

解决方法

扩展 JQuery ,在光标所在位置插入指定字符,添加下面 js 在页面中。

<script type="text/javascript" src="/static/index/js/jquery-1.9.1.min.js"></script>

// JavaScript Document
(function($){
  $.fn.extend({
    "insert":function(value){
      //默认参数
      value=$.extend({
        "text":"123"
      },value);
      
      var dthis = $(this)[0]; //将jQuery对象转换为DOM元素
      
      //IE下
      if(document.selection){
        
        $(dthis).focus();   //输入元素textara获取焦点
        var fus = document.selection.createRange();//获取光标位置
        fus.text = value.text;  //在光标位置插入值
        $(dthis).focus(); ///输入元素textara获取焦点
        
      
      }
      //火狐下标准 
      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);
      }
      
      //在输入元素textara没有定位光标的情况
      else{
        this.value += value.text;
        this.focus(); 
      };
      
      return $(this);
    }
  })
})(jQuery)
调用方法

首先获取 input 输入框对象,然后使用 insertAtCaret 方法在光标位置插入字符串。

$(".strong").click(function(){
    $(".layui-textarea").insert({"text":"456"});
});

以上就是关于“jquery在输入框光标处插入字符串”这篇文章的内容,希望分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注3搜网技术频道。

标签:jqueryjq