在光标处插入内容。

function insertAtCursor(myField, myValue) {
  if (document.selection) { //IE
    myField.focus();
    var sel = document.selection.createRange(); //创造range对象
    sel.text = myValue; //由于我们选择的RANGE对象长度就是光标,直接赋插入值即可
  }else if (myField.selectionStart || myField.selectionStart == ‘0‘) {
    var startPos = myField.selectionStart; //光标的起点
    var endPos = myField.selectionEnd; //光标的终点

    //重构value,从光标的起始点截取的值  加上 光标处插入的值 加上 光标终点到value终点的截取值 等于新值

    myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
  }
}

时间: 2024-08-29 12:41:16

在光标处插入内容。的相关文章

使用JS在textarea在光标处插入内容

// 在光标处插入字符串 // myField 文本框对象 // myValue 要插入的值 function insertAtCursor(myField, myValue) { //IE support if (document.selection) { myField.focus(); sel = document.selection.createRange(); sel.text = myValue; sel.select(); } //MOZILLA/NETSCAPE support

js在光标处插入内容

//场景一 简易的页面可以这样写var range = window.getSelection().getRangeAt(0);range.insertNode(document.createTextNode("插入的值")); //场景二 如果需要插入HTML文本,考虑到在弹出框中插入的场景,因此修改为如下方式var range;//记录光标位置对象var node = window.getSelection().anchorNode;// 这里判断是做是否有光标判断,因为弹出框默认

在textarea和input光标处插入内容,支持ie

项目需求,用户要能够输入和点击外面的公式去插入到textaera中,试了好几种方法,有的是在谷歌下好使,在ie下不好使,最后找到了下面这个方法,目前在ie8以上都可以生效.直接上代码 1 function insertAtCursor(myField, myValue) { 2 //IE support 3 if (document.selection) { 4 myField.focus(); 5 sel = document.selection.createRange(); 6 sel.te

由编辑器从光标处插入图片(失去焦点后仍然可以在原位置插入)实现的富文本编辑器

转载请注明: TheViper http://www.cnblogs.com/TheViper  大家都知道,如果只是大概的实现一个简单的富文本编辑器,直接用execCommand就可以了,虽然不同浏览器对execCommand命令的反应不一样,最后效果是差不多的.当然,如果要严谨的,用像ueditor那种只有很少部分实现是用execCommand的富文本编辑器. 昨天,本屌就试着用execCommand搞一个简单的编辑器.在本屌看来,什么字体加粗,斜体,下划线,对齐,列表..直接用execCo

可编辑DIV (contenteditable="true") 在鼠标光标处插入图片或者文字

近期需开发一个DIV做的编辑器,插入表情图片可直接预览效果,仔细参考了下百度贴吧的过滤粘贴过来文件的THML代码,自己整理了下.写出来只是和大家分享下,我自己也不大懂,经过努力,幸好搞定. 蛋疼的事情出来了,当编辑框失去焦点时候,再插入图片时候总是插入在最前面(谷歌和火狐,IE没问题).还没搞定,,, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/

JQ在光标处插入文字

内容转载自网络这是一个JQ的扩展方法.在teatarea获得焦点时,往光标处插入文字,扩展代码如下 (function($){ $.fn.extend({ "insert":function(value){ //默认参数 value=$.extend({ "text":"123" },value); var dthis = $(this)[0]; //将jQuery对象转换为DOM元素 //IE下 if(document.selection){

解决从光标处插入图片光标消失的问题

最近在做一个富文本编辑器,当鼠标单击事件发生在编辑区域外以后,光标就会消失,那么execCommand()方法就不能在编辑器处执行. 此时需要记录下光标消失的位置,一下几篇博文帮助非常大,记录下,以便后续学习使用. 1. TheViper,说的很详细 http://www.cnblogs.com/TheViper/p/4303158.html 2.这块说的一幕了然  http://w3cboy.com/post/2015/06/iframe-insert-picture-cursor/ 以上代码

JQuery在光标位置插入内容

1 (function($) { 2 $.fn.extend({ 3 insertAtCaret: function(myValue) { 4 var $t = $(this)[0]; 5 //IE 6 if (document.selection) { 7 this.focus(); 8 sel = document.selection.createRange(); 9 sel.text = myValue; 10 this.focus(); 11 } else 12 //!IE 13 if

js在一个可编辑的div光标处插入图片或者文本(兼容ie,火狐等浏览器)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ