4

在 Google Chrome 中,您可以使用以下元素的快捷方式contenteditable='true'

CTRL + B:将突出显示的文本设置为粗体,例如

幕后发生的事情是,<b>标签被附加或删除到标记的短语,不管是什么字。

这是怎么做到的?“他们”从哪里知道,元素是否已经设置为粗体,以及主要问题,它位于哪里?

我问这个是因为我无法摆脱今天早些时候提到的这个问题:

获取 .html() 和 .text() 中突出显示的文本位置

编辑:

我尝试了以下

富文本编辑

但首先,它不会正确加载,但这应该是我自己的失败造成的。其次,出于学习目的,我想实现我自己的缩小版本。

因为我真的在 JavaScript 中,我无法弄清楚这是如何完成的。

4

1 回答 1

1

document.getSelection() / window.getSelection()应该适用于您想对所选内容执行的任何操作。元素样式被继承。如何跟踪这取决于 CSS 实现。查看Chrome 的源代码可能会有很大帮助。

于 2013-04-25T09:54:19.167 回答