Javascript 所见即所得逻辑

标签 javascript jquery html css

<分区>


想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post .

关闭 7 年前

我已经在 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 - JQuery 通过文本查找 LI,通过类查找 UL

下一篇:css - Chrome 中不必要的垂直滚动条

相关文章:

javascript - 如何在 java 应用程序仍在编译时显示加载页面?

ruby-on-rails - 在 html 属性中发布数据时引用造成严重破坏

javascript - 倒数计时器在 JavaScript 中不起作用

javascript - 显示某些页面时强制向左(导航)框架

javascript - 我被困在从桌面上将视频嵌入到网站中

javascript - 使用 jQuery 选择每 3 个元素,并从迭代计数开始向它们添加动画延迟

javascript - 像 Javascript 一样在 C++ 中访问 HttpStatusCode

javascript - 每个函数都从数组中创建 img 元素

javascript - 正则表达式 - 仅替换空格

html - 保护 DIV 不被选择