首页 > 代码库 > 可编辑DIV 光标位置 处理
可编辑DIV 光标位置 处理
//场景: 要做一个网页即时通信,发送信息的文本编辑框 要求能发图片和表情,那么textarea就不能满足需求了,因为textarea内没有办法加入image
// 采用方案是使用可编辑的DIV(也就是 一般 DIV的 contenteditable 属性为 true)
// 但是发现添加表情或者插入图片之后,光标不会随着移动到末尾 图片和表情 采用的 append方式 添加的html结构
采用以下方法可以在输入图片和表情之后 使光标出现在最后 IE11 和 chrome浏览器 完全没问题
obj 传入的是 需要append图片的 DOM对象 ,text 传入的是 图片html结构
function inimage(obj,text){var range, node;if(!obj.hasfocus) {obj.focus();}if (window.getSelection && window.getSelection().getRangeAt) {range = window.getSelection().getRangeAt(0);range.collapse(false);node = range.createContextualFragment(text);var c = node.lastChild;range.insertNode(node);if(c){range.setEndAfter(c);range.setStartAfter(c)}var j = window.getSelection();j.removeAllRanges();j.addRange(range);} else if (document.selection && document.selection.createRange) {document.selection.createRange().pasteHTML(text);}}
可编辑DIV 光标位置 处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。