div 光标处插入内容
var Manager = {
insertHtml: function(html, type) {
var lastMemo = document.getElementById("memo"),
lastEditor = document.getElementById("reditor");
type = type || 'memo';
var control = type == 'memo' ? lastMemo : lastEditor;
if(!control) return;
control.focus();
var selection = window.getSelection ? window.getSelection() : document.selection,
range = selection.createRange ? selection.createRange() : selection.getRangeAt(0);
//判断浏览器是ie,但不是ie9以上
var browser = checkBrowser().split(":");
var IEbrowser = checkBrowser().split(":")[0];
var IEverson = Number(checkBrowser().split(":")[1]);
if(IEbrowser == "IE" && IEverson < 9) {
range.pasteHTML(html);
} else {
var node = document.createElement('span');
node.innerHTML = html;
range.insertNode(node);
selection.addRange(range);
}
},
insertImg: function() {
var img = "<img src='http://www.baidu.com/img/bdlogo.gif'/>";
this.insertHtml(img, 'editor');
}
}
function checkBrowser() {
var browserName = navigator.userAgent.toLowerCase();
//var ua = navigator.userAgent.toLowerCase();
var Sys = {};
var rtn = false;
if(/msie/i.test(browserName) && !/opera/.test(browserName)) {
strBrowser = "IE: " + browserName.match(/msie ([\d.]+)/)[1];
rtn = true;
//return true;
} else if(/firefox/i.test(browserName)) {
strBrowser = "Firefox: " + browserName.match(/firefox\/([\d.]+)/)[1];;
//return false;
} else if(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)) {
strBrowser = "Chrome: " + browserName.match(/chrome\/([\d.]+)/)[1];
//return false;
} else if(/opera/i.test(browserName)) {
strBrowser = "Opera: " + browserName.match(/opera.([\d.]+)/)[1];
//return false;
} else if(/webkit/i.test(browserName) && !(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))) {
strBrowser = "Safari: ";
//return false;
} else {
strBrowser = "unKnow,未知浏览器 ";
//return false;
}
strBrowser = strBrowser;
//alert(strBrowser)
return strBrowser;
}
、、、、、、、
memo 不用
reditor div --id;
Manager.insertImg();//调用
div 光标处插入内容的更多相关文章
- js在一个可编辑的div光标处插入图片或者文本(兼容ie,火狐等浏览器)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 使用JS在textarea在光标处插入内容
// 在光标处插入字符串 // myField 文本框对象 // myValue 要插入的值 function insertAtCursor(myField, myValue) { //IE supp ...
- js在光标处插入内容
//场景一 简易的页面可以这样写var range = window.getSelection().getRangeAt(0);range.insertNode(document.createText ...
- 在textarea和input光标处插入内容,支持ie
项目需求,用户要能够输入和点击外面的公式去插入到textaera中,试了好几种方法,有的是在谷歌下好使,在ie下不好使,最后找到了下面这个方法,目前在ie8以上都可以生效.直接上代码 function ...
- 可编辑DIV (contenteditable="true") 在鼠标光标处插入图片或者文字
近期需开发一个DIV做的编辑器,插入表情图片可直接预览效果,仔细参考了下百度贴吧的过滤粘贴过来文件的THML代码,自己整理了下.写出来只是和大家分享下,我自己也不大懂,经过努力,幸好搞定. 蛋疼的事情 ...
- JQ在光标处插入文字
内容转载自网络这是一个JQ的扩展方法.在teatarea获得焦点时,往光标处插入文字,扩展代码如下 (function($){ $.fn.extend({ "insert":fun ...
- js 在光标位置插入内容
原文:https://blog.csdn.net/smartsmile2012/article/details/53642082 createDocumentFragment()用法: https:/ ...
- js实现文本框文本域光标处插入图片文本的插件(并且光标在插入内容的内容后显示)
js: /******************************************* * * 插入光标处的插件 * @authors Du xin li * @update 2015 ...
- kindeditor在光标处插入编辑器外的数据
页面 <div class="form-group clearfix"> <label class="control-label col-sm-3 co ...
随机推荐
- retry之python重试机制
安装 pip install retry Retry装饰器 retry(exceptions=Exception, tries=-1, delay=0, max_delay=None, backoff ...
- apt-get 常用命令总结
apt-get 高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu)的软件包管理器.APT可以自动下载,配置,安装二进 ...
- 占cpu 100%的脚本
#! /bin/sh # filename killcpu.sh if [ $# -ne 1 ] ; then echo "USAGE: $0 <CPUs>|stop" ...
- swing 下拉菜单
package rom; import java.lang.*; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; i ...
- webDAV
wiki webDAV client - java https://github.com/lookfirst/sardine https://www.cnblogs.com/xgjblog/p/383 ...
- 安装e(fx)clipse到Eclipse (JavaFX工具)
转载自:https://www.yiibai.com/javafx/install-efxclipse-into-eclipse.html 想要在 Eclipse 中开发 JavaFX,那么可安装 J ...
- CustomJSProperties珍藏版。目的是减少客户端的代码数量,但是又能将服务器数据传输给客户端。关键是:数据是实时更新的!!!!
[这是帮助文档的说明] CustomJSProperties EventThe CustomJSProperties event fires each time a control callback ...
- 使用STM32CubeMX生成RTC工程[闹钟中断2]
在上次使用STM32CubeMX生成RTC工程[闹钟中断]基础上实现周期间隔的闹钟 一些场合需要周期性的闹钟 现在为了方便设置每十秒来一次. 备注: 当然可以直接修改HAL库static HAL_St ...
- 尚硅谷springboot学习6-eclipse创建springboot项目的三种方法(转)
方法一 安装STS插件 安装插件导向窗口完成后,在eclipse右下角将会出现安装插件的进度,等插件安装完成后重启eclipse生效 新建spring boot项目 项目启动 方法二 1.创建Mave ...
- 正则表达式(Kotlin)
课题 使用正则表达式匹配字符串 使用正则表达式 "\d{3}-(\d{4})-\d{2}" 匹配字符串 "123-4567-89" 返回匹配结果:'" ...