JS range之保存光标位置,为 光标位置添加内容
来源:互联网 发布:云计算有哪些内容 编辑:程序博客网 时间:2024/06/06 14:29
在此,我们采用可编辑div作为编辑框,首先给编辑框获取focus加光标,然后,点击取消编辑框失去焦点,但是依然保存光标位置(假装失去焦点),然后,点击确定,为光标位置添加内容。
<button class="cancel">Cancel</button><button class="Sure">Sure</button><div contenteditable="true" id="textbox"> <strong>test</strong> <p>testtesttesttest</p> <strong>testtest</strong> <img src="1.jpg" alt="test"></div>
代码如下:
<script src="js/jquery-3.2.1.min.js"></script><script type="text/javascript">$(function(){$(".cancel").on("click", function(){ var text = ''; insertTextAtSelection(text);})$(".Sure").on("click", function(){ var text = '<strong><i>加粗变斜体</i></strong>'; insertTextAtSelection(text,"html");})function insertTextAtSelection(text, mode) { var _this = this; var sel, range, node; mode = mode || ''; if (window.getSelection) { sel = window.getSelection(); if (sel.getRangeAt && sel.rangeCount) { range = sel.getRangeAt(0); // range.deleteContents(); var textNode = document.createTextNode(text); if (mode == "html") { var el = document.createElement("div"); el.innerHTML = text; var frag = document.createDocumentFragment(), node, lastNode; while ((node = el.firstChild)) { lastNode = frag.appendChild(node); } range.insertNode(frag); sel.removeAllRanges(); range = range.cloneRange(); sel.addRange(range); } else { console.log(textNode); range.insertNode(textNode); range.selectNode(textNode); } } }} });</script>
阅读全文
0 0
- JS range之保存光标位置,为 光标位置添加内容
- 在光标位置添加内容
- js实现在光标的位置 添加内容
- 光标位置插入内容
- JS实现在光标位置插入内容
- js实现文本内容光标定位,获取光标位置
- js 光标位置控制
- js获取光标位置
- js控制光标位置
- js获取光标位置
- JS获取光标位置
- js设置光标位置
- js 光标位置
- js 控制光标位置
- js获取光标位置
- 在光标位置插入内容
- 光标位置
- 可编辑div中如何在光标位置添加内容
- spring data jpa 实体类中字段不与数据库表映射
- spring事务特性
- redhat Linux6下搭建DHCP服务器
- java_异常
- Git
- JS range之保存光标位置,为 光标位置添加内容
- 详解css盒模型
- 【备忘】徐老师hadoop hbase zookeeper spark kafka大数据视频教程
- 本地图片http上传服务器
- 标准盒模型(w3c)和IE盒模型
- Android N编译之Out of memory error
- 页面自动更新
- 百度2017春招编程题
- Redis数据结构——集合