textarea在光标位置添加内容
(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);
上面代码放于jQuery的入口函数内部即可。
用法:通过textarea直接调用此方法即可,
如在id为textarea1的文本域插入字符串123:
$(#textarea1).insertContent(“123”);
转自https://blog.csdn.net/SudaDays/article/details/79289159
还没有评论,来说两句吧...