• jQuery插件,将内容插入到光标处


    (function ($) {
        $.fn.extend({
            insertAtCaret : function (myValue) {
                var $t = $(this)[0];
                if (document.selection) {
                    this.focus();
                    sel = document.selection.createRange();
                    sel.text = myValue;
                    this.focus();
                } 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;
                    } else {
                        this.value += myValue;
                        this.focus();
                    }
            }
        })
    })(jQuery);
    //调用方法:
    $("select").insertAtCaret();

    应用案例
    <!DOCTYPE html>
    <html>
    <head>
        <title>无标题页</title>
    
        <script type="text/javascript" src="http://sy.zgsapt.com/js/jquery-1.7.2.min.js"></script>
    
        <script type="text/javascript">
            (function ($) {
                $.fn.extend({
                    insertAtCaret: function (myValue) {
                        var $t = $(this)[0];
                        if (document.selection) {
                            this.focus();
                            sel = document.selection.createRange();
                            sel.text = myValue;
                            this.focus();
                        } 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;
                            } else {
                                this.value += myValue;
                                this.focus();
                            }
                    }
                })
            })(jQuery);
    
            $(document).ready(function () {
                $("#numd").bind("mouseleave", function () {
                    document.getElementById('keybored').style.display = 'none';
                    document.getElementById('Nm').blur();
                });
    
                $("#Nm").focus(function () {
                    document.getElementById('keybored').style.display = '';
                });
                $(".readbtns").click(function () {
                    $("#Nm").insertAtCaret($(this).val());
    
                });
    
            });
    
        </script>
    
    </head>
    <body>
        <ul>
            <li>
                <input />
                <div>
                </div>
            </li>
        </ul>
        <input id="hid" type="text" value="" style="display: none" />
        <span id="numd" style="border: 1px solid red; clear: both; display: inline-block; font: 800em;">
            <input type="text" id="Nm" name="Nm" value="" />
            <div style="display: none; border: 1px solid #A2B4C6;  150px; height: 400px;"
                id="keybored">
                <input type="button" class="readbtns" value="1" />
                <input type="button" class="readbtns" value="2" />
                <input type="button" class="readbtns" value="3" />
                <input type="button" class="readbtns" value="4" />
                <input type="button" class="readbtns" value="5" />
                <input type="button" class="readbtns" value="6" />
                <input type="button" class="readbtns" value="7" />
                <input type="button" class="readbtns" value="8" />
                <input type="button" class="readbtns" value="9" />
            </div>
        </span>
    </body>
    </html>
  • 相关阅读:
    游戏开发系统功能(9)
    游戏开发创建游戏世界(8)
    游戏开发沟通和开会技巧(7)
    游戏开发策划工作(6)
    游戏开发了解测试工作(4)
    Django:学习笔记(9)——用户身份认证
    Django:学习笔记(8)——视图
    Django:学习笔记(7)——模型进阶
    Django:学习笔记(6)——模型
    Django:学习笔记(5)——会话
  • 原文地址:https://www.cnblogs.com/yeminglong/p/3914386.html
Copyright © 2020-2023  润新知