jquery实现在光标位置插入内容的方法
本文实例讲述了jquery实现在光标位置插入内容的方法。分享给大家供大家参考。具体实现方法如下:
<!DOCTYPEhtml> <html> <head> <title>无标题页</title> <scripttype="text/javascript"src="jquery-1.7.2.min。js"></script> <scripttype="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') { varstartPos=$t.selectionStart; varendPos=$t.selectionEnd; varscrollTop=$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> <inputid="hid"type="text"value=""style="display:none"/> <spanid="numd"style="border:1pxsolidred;clear:both;display:inline-block;font:800em;"> <inputtype="text"id="Nm"name="Nm"value=""/> <divstyle="display:none;border:1pxsolid#A2B4C6;width:150px;height:400px;" id="keybored"> <inputtype="button"class="readbtns"value="1"/> <inputtype="button"class="readbtns"value="2"/> <inputtype="button"class="readbtns"value="3"/> <inputtype="button"class="readbtns"value="4"/> <inputtype="button"class="readbtns"value="5"/> <inputtype="button"class="readbtns"value="6"/> <inputtype="button"class="readbtns"value="7"/> <inputtype="button"class="readbtns"value="8"/> <inputtype="button"class="readbtns"value="9"/> </div> </span> </body> </html>
希望本文所述对大家的jQuery程序设计有所帮助。