基于jQuery的输入框在光标位置插入内容, 并选中
基于jQuery的输入框在光标位置插入内容, 并选中
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:////使用方法//$(文本域选择器).insertContent("插入的内容");//$(文本域选择器).insert...

复制代码 代码如下:

//

//使用方法

//$(文本域选择器).insertContent("插入的内容");

//$(文本域选择器).insertContent("插入的内容",数值); //根据数值选中插入文本内容两边的边界, 数值: 0是表示插入文字全部选择,-1表示插入文字两边各少选中一个字符。

//

//在光标位置插入内容, 并选中

(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);

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类