//
//使用方法
//$(文本域选择器).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);
分享到:
相关推荐
"Jquery内容插入光标处插件"是针对一个特定需求而设计的工具,它允许开发者在用户输入光标所在的位置动态插入内容,这对于构建富文本编辑器、聊天应用或任何需要在特定位置动态添加文本的界面来说是非常有用的。...
但这种方法无法控制光标位置,可能会导致内容被插入到现有内容的末尾或者替换掉原有内容,而不是在光标所在位置。文档中提供的代码扩展了jQuery的`fn`对象,添加了一个新的方法`insertContent`,这个方法允许我们在...
当用户按下Backspace键时,先获取文本框的当前光标位置和值,然后调用delWholeWord函数来删除光标所在位置的单词。 以上述功能实现的技术细节,我们可以清楚地理解,如何通过JavaScript来增强Web应用的文本编辑功能...
这通常通过点击一个表情面板,然后选择相应的表情图标来完成,这些表情会插入到光标所在的位置,使得用户能够在文本中混入图形化的表情,提高沟通的趣味性和直观性。 从标签“js特效 jQuery特效”来看,我们可以...
caret 位置是指光标当前所在的位置,通过获取 caret 位置,可以确定插入表情符号的正确位置。 electron+vue 实现 div contenteditable 截图功能还需要使用到 Bootstrap 框架来美化用户界面。Bootstrap 是一个流行的...