• query或者JavaScript实现在textarea光标处插入文本


    1.Jquery函数实现:

    $(function() {
        /*  在textarea处插入文本--Start */
        (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);
        /* 在textarea处插入文本--Ending */
    });

    调用方法:

    $(文本域选择器).insertContent("插入的内容"); 
    //$(文本域选择器).insertContent("插入的内容",数值); //根据数值选中插入文本内容两边的边界, 数值: 0是表示插入文字全部选择,-1表示插入文字两边各少选中一个字符。

    function insertText(obj,str) {
        if (document.selection) {
            var sel = document.selection.createRange();
            sel.text = str;
        } else if (typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {
            var startPos = obj.selectionStart,
                endPos = obj.selectionEnd,
                cursorPos = startPos,
                tmpStr = obj.value;
            obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);
            cursorPos += str.length;
            obj.selectionStart = obj.selectionEnd = cursorPos;
        } else {
            obj.value += str;
        }
    }
    function moveEnd(obj){
        obj.focus();
        var len = obj.value.length;
        if (document.selection) {
            var sel = obj.createTextRange();
            sel.moveStart('character',len);
            sel.collapse();
            sel.select();
        } else if (typeof obj.selectionStart == 'number' && typeof obj.selectionEnd == 'number') {
            obj.selectionStart = obj.selectionEnd = len;
        }
    } 
  • 相关阅读:
    初学 python 之 多级菜单实现原理
    初学 python 之 用户登录实现过程
    Sqlmap使用教程
    对伪静态网站实施注射
    干货!IT小伙伴们实用的网站及工具大集合!持续更新!
    lnmp、lamp、lnmpa一键安装包(Updated: 2016-4-12)
    如何入门 Python 爬虫?
    在Windows Live Writer中插入C# code
    IIS装好后,局域网不能访问
    修改win7登录界面
  • 原文地址:https://www.cnblogs.com/LessNull/p/4538670.html
Copyright © 2020-2023  润新知