jQuery或者JavaScript实现在textarea光标处插入文本
1.Jquery函数实现:
- $(function() {
- /* 在textarea处插入文本--Start */
- (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);
- /* 在textarea处插入文本--Ending */
- });
$(文本域选择器).insertContent("插入的内容");
//$(文本域选择器).insertContent("插入的内容",数值); //根据数值选中插入文本内容两边的边界, 数值: 0是表示插入文字全部选择,-1表示插入文字两边各少选中一个字符。
2.JavaScript实现:
- function insertText(obj,str) {
- if (document.selection) {
- var sel = document.selection.createRange();
- sel.text = str;
- } else if (typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {
- var startPos = obj.selectionStart,
- endPos = obj.selectionEnd,
- cursorPos = startPos,
- tmpStr = obj.value;
- obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);
- cursorPos += str.length;
- obj.selectionStart = obj.selectionEnd = cursorPos;
- } else {
- obj.value += str;
- }
- }
- function moveEnd(obj){
- obj.focus();
- var len = obj.value.length;
- if (document.selection) {
- var sel = obj.createTextRange();
- sel.moveStart('character',len);
- sel.collapse();
- sel.select();
- } else if (typeof obj.selectionStart == 'number' && typeof obj.selectionEnd == 'number') {
- obj.selectionStart = obj.selectionEnd = len;
- }
- }
相关推荐
IT之家 2020-03-11
graseed 2020-10-28
zbkyumlei 2020-10-12
SXIAOYI 2020-09-16
jinhao 2020-09-07
impress 2020-08-26
liuqipao 2020-07-07
淡风wisdon大大 2020-06-06
yoohsummer 2020-06-01
chenjia00 2020-05-29
baike 2020-05-19
扭来不叫牛奶 2020-05-08
hxmilyy 2020-05-11
黎豆子 2020-05-07
xiongweiwei00 2020-04-29
Cypress 2020-04-25
冰蝶 2020-04-20