我想建立另一个所见即所得的编辑器。我已经有一个脚本可以在当前选择周围包装标签,即使对于 Firefox 多项选择,但在我编辑 html 后它不会重新选择范围。这怎么可能发生?
这是我的代码:
function wrap(tagName)
{
var selection;
var elements = [];
var ranges = [];
var rangeCount = 0;
if (window.getSelection)
{
selection = window.getSelection();
if (selection.rangeCount)
{
rangeCount = selection.rangeCount;
for (var i=0; i<rangeCount; i++)
{
ranges[i] = selection.getRangeAt(i).cloneRange();
elements[i] = document.createElement(tagName);
elements[i].appendChild(ranges[i].extractContents());
ranges[i].insertNode(elements[i]);
selection.addRange(ranges[i]);
}
}
}
}
对不起,我来自荷兰的英语不好。