基于jQuery的输入框在光标位置插入内容, 并选中_jquery

复制代码 代码如下:

//
//使用方法
//$(文本域选择器).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);

时间: 2024-12-01 06:04:40

基于jQuery的输入框在光标位置插入内容, 并选中_jquery的相关文章

jquery实现在光标位置插入内容的方法_jquery

本文实例讲述了jquery实现在光标位置插入内容的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html>  <html>  <head>      <title>无标题页</title>      <script type="text/javascript" src="jquery-1.7.2.min.js"></script>     

JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)_javascript技巧

本文实例讲述了JS实现iframe编辑器光标位置插入内容的方法.分享给大家供大家参考,具体如下: <html> <iframe id="x" name="x"></iframe> <input type="button" onclick="t()" value="test"> <input type="button" onclick=

JS在可编辑的div中的光标位置插入内容的方法_javascript技巧

本文实例讲述了js实现在可编辑div中指定位置插入内容的方法,就像我们使用的编辑器一样,分享给大家供大家参考.具体实现方法如下: 首先要让DIV启用编辑模式 复制代码 代码如下: <div contenteditable=true id="divTest"></div> 通过设定contenteditable=true开启div的编辑模式.这样DIV就可以跟文本框一样输入内容了. 不扯话题了.下面说怎么获取或设置光标位置. 2个步骤: ① 获取DIV中的光标位置

JS在可编辑的div中的光标位置插入内容的方法

 首先要让DIV启用编辑模式 代码如下: <div contenteditable=true id="divTest"></div> 通过设定contenteditable=true开启div的编辑模式.这样DIV就可以跟文本框一样输入内容了. 不扯话题了.下面说怎么获取或设置光标位置.   2个步骤: ① 获取DIV中的光标位置 ② 改变光标位置 代码如下: var cursor = 0; // 光标位置  document.onselectionchange

JQuery在光标位置插入内容的实现代码_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.selection

解释一段在光标位置插入字符的js代码

js|插入|光标 这篇小文本来应该在昨天发的,但是由于我昨天敲错了一个键(就是IBM笔记本键盘上的前进后退),导致文章丢失...今天就简写了.网络上有许多能在光标位置插入字符的js代码,比较啰嗦,不适合讲解.我写了一段简单的代码,解释一下: 1234567 <FORM> <TEXTAREA NAME="a" ONSELECT="this.pos=document.selection.createRange();"  onKEYUP="th

jQuery实现在textarea指定位置插入字符或表情的方法

 这篇文章主要介绍了jQuery实现在textarea指定位置插入字符或表情的方法,实例分析了jQuery操作表单元素的技巧,非常实用,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery实现在textarea指定位置插入字符或表情的方法.分享给大家供大家参考.具体实现方法如下: 1. 函数定义 代码如下: (function($){ $.fn.extend({ insertAtCaret: function(myValue){ var $t=$(this)[0]; i

js-当contenteditable=&amp;amp;quot;true时,如何给光标位置插入HTML元素

问题描述 当contenteditable="true时,如何给光标位置插入HTML元素 现在项目中遇到一个这样的问题: 一个div的contenteditable设置为True时,在输入了一段文字后,列入 现在需要做的是,点击表情框,这个时候焦点会离开这个div,然后选择一个表情,将这个表情插入到原来的光标的位置. 请问各位大神 .... 这一步应该如何做到? 解决方案 因为涉及到DOM Range 在网上浏览了很多这方面的东西 仍然没有解决 . 解决方案二: http://stackover

javascript控制在光标位置插入文字适合表情的插入_javascript技巧

直接上代码吧,用js控制在光标位置插入. 在实现表情的插入时用到了. 复制代码 代码如下: <span style="font-size:18px;"><html> <head> <script type='text/javascript'> function test(str){ var tc = document.getElementById("mytextarea"); var tclen = tc.value.