zoukankan      html  css  js  c++  java
  • jQuery插件在光标定位的地方插入文字(插件5)

    (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)

    主要思路:

      当点击某个元素的时候,让一个输入框,插入指定的值。?

      1.当点击某个元素的时候,应该让输入框获取焦点,因为只有获得了焦点,才能在里面输入值;

      IE下:document.selection.createRange()

      FF下:var start = dthis.selectionStart;    //获取焦点前坐标

         var end =dthis.selectionEnd;        //获取焦点后坐标

     

      2.获取当前输入框焦点的位置

      3.将值插入到输入框焦点的位置;

      4.再次获取焦点;保证光标在输入框内

     

    [下载 DEMO]

  • 相关阅读:
    java实现取球类的博弈问题
    下载安装eclipse
    配置jdk环境变量
    蓝桥杯三羊献瑞题目
    java用Kruskal实现最小生成树
    java创建自定义类的数组
    java暴力递归回溯算法
    易理解java代码8皇后问题
    Listview 点击获取view
    java android布局里的控件值 反射绑定给实体类,实体类绑定给控件,表单提交绑定很有用
  • 原文地址:https://www.cnblogs.com/lufy/p/2494647.html
Copyright © 2011-2022 走看看