<分区>
标签 javascript jquery html css
我已经在 SO 中搜索过类似的问题,但似乎它们都包含在使用 contenteditable="true"
使 div 可编辑中。
我很好奇跟踪添加到文档的所有格式标签的最有效方法。由于重叠标记损坏,仅用 jQuery 包装/展开所选文本似乎会在几次编辑后损坏文档。
正确的方法是将所有字符分离到一个数组中,制定逻辑以在 window.getSelection()
定义的位置添加/修改/删除标签,然后呈现输出版本加载到可编辑的分区?或者有更好的解决方案吗?
最佳答案
可能不需要使用 javascript/jquery 手动将元素包装在标签中。我一直在阅读有关 execCommand()
的内容,它似乎得到了广泛支持。这将允许在 WYSIWYG 编辑器、颜色、字体大小、系列、添加链接等中找到的大多数格式选项......我意识到我最初的问题有点宽泛,但也许这也会为其他人指明正确的方向...
例子:
document.execCommand('bold', 0);
document.execCommand('forecolor', 0, '#ff0000');
document.execCommand('fontSize', 0, '7');
适用于 chrome/firefox/safari,但还不确定 IE。上面的粗体示例演示了浏览器如何跟踪现有格式并可以打开/关闭样式。
关于Javascript 所见即所得逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35274011/
相关文章:
javascript - 如何在 java 应用程序仍在编译时显示加载页面?
ruby-on-rails - 在 html 属性中发布数据时引用造成严重破坏
javascript - 倒数计时器在 JavaScript 中不起作用
javascript - 显示某些页面时强制向左(导航)框架
javascript - 我被困在从桌面上将视频嵌入到网站中
javascript - 使用 jQuery 选择每 3 个元素,并从迭代计数开始向它们添加动画延迟
javascript - 像 Javascript 一样在 C++ 中访问 HttpStatusCode