zoukankan      html  css  js  c++  java
  • [转载]jQuery 输入框 在光标位置插入内容, 并选中

    //
    //使用方法
    //$(文本域选择器).insertContent("插入的内容");
    //$(文本域选择器).insertContent("插入的内容",数值); //根据数值选中插入文本内容两边的边界, 数值: 0是表示插入文字全部选择,-1表示插入文字两边各少选中一个字符。
    //
    //在光标位置插入内容, 并选中
    (function($) {
        $.fn.extend({
            insertContent: function(myValue, t) {
                var $t = $(this)[0];
                if (document.selection) { //ie
                    this.focus();
                    var sel = document.selection.createRange();
                    sel.text = myValue;
                    this.focus();
                    sel.moveStart('character', -l);
                    var wee = sel.text.length;
                    if (arguments.length == 2) {
                        var l = $t.value.length;
                        sel.moveEnd("character", wee + t);
                        t <= 0 ? sel.moveStart("character", wee - 2 * t - myValue.length) : sel.moveStart("character", wee - t - myValue.length);
       
                        sel.select();
                    }
                } else if ($t.selectionStart || $t.selectionStart == '0') {
                    var startPos = $t.selectionStart;
                    var endPos = $t.selectionEnd;
                    var scrollTop = $t.scrollTop;
                    $t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);
                    this.focus();
                    $t.selectionStart = startPos + myValue.length;
                    $t.selectionEnd = startPos + myValue.length;
                    $t.scrollTop = scrollTop;
                    if (arguments.length == 2) {
                        $t.setSelectionRange(startPos - t, $t.selectionEnd + t);
                        this.focus();
                    }
                }
                else {
                    this.value += myValue;
                    this.focus();
                }
            }
        })
    })(jQuery);
  • 相关阅读:
    Android面试题目整理与解说(一)
    Linux 6.3下安装Oracle Enterprise Cloud Control 12c
    xcode5. 安装cocos2d-x 学习中。。。
    Bootstrap组件之输入框组
    洛谷P2852 [USACO06DEC]牛奶模式Milk Patterns
    洛谷P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold
    洛谷P4051 [JSOI2007]字符加密
    洛谷P3809 【模板】后缀排序
    洛谷P2598 [ZJOI2009]狼和羊的故事
    洛谷P1345 [USACO5.4]奶牛的电信Telecowmunication
  • 原文地址:https://www.cnblogs.com/fx2008/p/2298269.html
Copyright © 2011-2022 走看看