欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jquery实现在光标位置插入内容的方法教程

程序员文章站 2022-04-08 10:19:21
jquery实现在光标位置插入内容的方法教程,代码如下:    

jquery实现在光标位置插入内容的方法教程,代码如下:

<!DOCTYPE html> 
<html> 
<head> 
    <title>无标题页</title> 
    <script type="text/javascript" src="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 /> 
            <p> 
 &nnbsp;          </p> 
        </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="" /> 
        <p style="display: none; border: 1px solid #A2B4C6; width: 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" /> 
        </p> 
    </span> 
</body> 
</html>