`

获取div光标并插入图片

    博客分类:
  • js
 
阅读更多
//显示图片
function showImage(div_id,img_src) {
    //IE support  
    if (document.selection) {
    	var myField = document.getElementById(div_id);   //对象   
        var myValue = '<img src = "'+img_src+'"/>';  //值
        myField.focus();
        var sel = document.selection.createRange();
        sel.pasteHTML(myValue);
    }else {
    	var sel = div_range;
    	if(sel == null || sel == 'undefined'){
    		myfocus(div_id);
    		sel = document.getSelection().getRangeAt(0);
    	}
        var img = document.createElement("img");
        img.src = img_src;
        sel.insertNode(img);
    }
}
var div_range;
function divOnmouseout(){
	var sel = document.getSelection();
	if(sel){//ff,ch
		div_range = sel.getRangeAt(0);
	}

//获取焦点
function myfocus(obj) {
    if (typeof obj == 'string') obj = document.getElementById(obj);
    obj.focus();
    if (obj.createTextRange) {//ie
        var rtextRange = obj.createTextRange();
        if(obj.value == null || obj.value == '') return;
        rtextRange.moveStart('character', obj.value.length);
        rtextRange.collapse(true);
        rtextRange.select();
    }else if (obj.selectionStart){//chrome "<input>"、"<textarea>"
        obj.selectionStart = obj.value.length;
    }else if(window.getSelection){
	    var sel = window.getSelection();
	    var tempRange = document.createRange();
	    if(obj.firstChild == null || obj.firstChild == '') return;
	    tempRange.setStart(obj.firstChild, obj.firstChild.length);
	    sel.removeAllRanges();
	    sel.addRange(tempRange);
	}
}
}
分享到:
评论

相关推荐

    当div设置contentEditable=true时,重置其内容后无法光标定位

    这个好说… 但是清空完了内容,光标居然跑到了最前面,这就很头疼了。 在经过各种搜索之后,找到了解决办法,不多说,上代码! var _div = document.querySelector('.discuss_area'); var range = document....

    在可编辑div中插入文字或图片解决思路与实现步骤

    基本上编辑器或者在线聊天web页面,是不太可能用textarea在做输入框的,因为我们可能要插入图片或者超级链接,因此选择在iframe或者div作为输入框是必须的。 我这里用的是 div. 要使div可编辑 必须 加入 ...

    超实用的jQuery代码段

    11.12 获取当前页面的URL并添加样式 11.13 向表格追加一行数据 11.14 获取客户端IP 11.15 向Firebug的控制面板发送消息 11.16 根据不同的屏幕大小显示不同的网页 11.17 jQuery遍历对象的属性 11.18 最优化的循环语句...

    delphi 开发经验技巧宝典源码

    0274 重定义去掉标题栏并最大化窗体 179 0275 使窗体一直居中 179 0276 控制窗体不可移动 180 0277 限制窗体的最大化 180 0278 使窗体自动居中 181 8.5 窗体的特殊形状 181 0279 实现窗体颜色渐变 181...

    delphi 开发经验技巧宝典源码06

    0274 重定义去掉标题栏并最大化窗体 179 0275 使窗体一直居中 179 0276 控制窗体不可移动 180 0277 限制窗体的最大化 180 0278 使窗体自动居中 181 8.5 窗体的特殊形状 181 0279 实现窗体颜色渐变 181...

    易语言程序免安装版下载

    修改高级表格支持库,解决插入行/插入列在未指定行号/列号的情况下插入位置不正确的BUG。 7. 修改文本语音转换支持库,增加“机读文本.重新创建并初始化()”方法。 8. 修改应用接口支持库,增强“取快捷方式目标...

    《程序天下:JavaScript实例自学手册》光盘源码

    3.29 光标停在文字最后 3.30 分行取textarea中的值 3.31 自动插入文本 3.32 选取textarea的指定行 3.33 文本放大镜 3.34 文本框的默认输入法 3.35 文本框显示网页中选中的内容 3.36 文字的垂直滚动 3.37 文字幻灯片 ...

    程序天下:JavaScript实例自学手册

    3.29 光标停在文字最后 3.30 分行取textarea中的值 3.31 自动插入文本 3.32 选取textarea的指定行 3.33 文本放大镜 3.34 文本框的默认输入法 3.35 文本框显示网页中选中的内容 3.36 文字的垂直滚动 3.37 文字幻灯片 ...

    JavaScript网页特效范例宝典源码

    实例222 改变图片获取焦点时的状态 345 实例223 抖动的图片 346 实例224 鼠标移动放大图片 347 8.3 图片与时间相关操作 349 实例225 定时隐藏图片 349 实例226 根据时间变换页面背景 350 实例227 使图片不停闪烁 352...

    js使用小技巧

    ENTER键可以让光标移到下一个输入框 (event.keyCode==13)event.keyCode=9"&gt; 文本框的默认值 (this.defaultValue)"&gt; title换行 obj.title = "123&#13sdfs&#32" 获得时间所代表的微秒 var n1 = new Date("2004-...

Global site tag (gtag.js) - Google Analytics