此函数使用范围对象返回用户选择并将其包装为粗体标记.有没有一种方法可以删除标签?如在<b>text<b> = text.
我实际上需要一个切换功能,它将选择包装在标签中,如果已经包含标签,则将其解包.与切换粗体按钮时文本编辑器的操作类似.
if "text" then "<b>text</b>"
else "<b>text</b>" then "text"
Run Code Online (Sandbox Code Playgroud)
...
function makeBold() {
//create variable from selection
var selection = window.getSelection();
if (selection.rangeCount) {
var range = selection.getRangeAt(0).cloneRange();
var newNode = document.createElement("b");
//wrap selection in tags
range.surroundContents(newNode);
//return the user selection
selection.removeAllRanges();
selection.addRange(range);
}
}
Run Code Online (Sandbox Code Playgroud)