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; 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" /> </div> </span> </body> </html>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。