正在选择的 html:
some te<b>xt here is bold</b>ed, I guess
|______________________| <- the selection range
所以,选择的 .toHtml() 是这样的:
<b>ere is bold</b>ed, I gue
但这不在原始文件中。
所以,我想做的是扩展选择,使其包含整个 BOLD 标记。
这很容易检测到,因为您只需要进行测试
a = rangy.getSelection()
a.anchorNode.parentElement != a.focusNode.parentElement
该文档指出范围广泛的范围有一个setStartBefore(Node)
方法:http ://code.google.com/p/rangy/wiki/RangyRange
所以,我得到了当前范围
b = a.getRangeAt(0)
并尝试 setStartBefore :
b.setStartBefore(a.anchorNode.parentNode)
并且由于我在控制台中执行所有这些操作,因此我会立即收到反馈说
undefined
什么会导致这种情况,以及我将如何解决它以找到我想要解决的问题的解决方案?
更新:根据 Tim Down 的建议,我尝试了以下方法:
原文:
它应该扩大到包括质量 Ef它不应该吗?
更新 2:
解决方案(根据 Tim Down)