zoukankan      html  css  js  c++  java
  • JQ在光标处插入文字

    内容转载自网络
    这是一个JQ的扩展方法。在teatarea获得焦点时,往光标处插入文字,扩展代码如下
    (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;   //获取焦点后坐标
                        //以下这句,应该是在焦点之前,和焦点之后的位置,中间插入我们传入的值 .然后把这个得到的新值,赋给文本框
                        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)

    扩展方法调用方法为

    //给按钮添加点击事件,
    $('#btn').on('click',function(){
        $("目标textarea框").insert({"text":"要添加的文字"});
    });
  • 相关阅读:
    什么是web标准、可用性、可访问性
    前端面试>逻辑推理题~~
    git 安装
    wcf生成客户端代理的四种方法
    mysql 安装
    理解Linux 的处理器负载均值load averages
    高性能服务器架构
    事务日志
    Epoll工作模式详解
    事务和两阶段提交
  • 原文地址:https://www.cnblogs.com/wqc5730/p/8495477.html
Copyright © 2011-2022 走看看