function getSelectionText() {
let text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
return text;
}
jQuery("#h").click(function() {
let selection = getSelectionText();
selection = "<p class='n-h8'>" + selection + "</p>"
});
<p>
<span id="h" class="button tag">H</span>
</p>
<textarea></textarea>
我正在尝试创建一个所见即所得的编辑器。我想在文本区输入一些文本。然后用鼠标选择其中的一部分。然后点击“h”按钮。
所选文本将以〈
示例:如果我选择了
"Lorem Ipsum是什么?"
然后点击“H”按钮后,我将得到:
<p class='n-h8'>What is Lorem Ipsum?</p>
嗯,我甚至没有得到选定的文本。只要我点击我的按钮,文本不再被选中,因为我已经点击了按钮,因此没有文本被选中了。
你能帮助我理解如何使用JavaScript组织这样的WYSYWYG按钮吗?
1条答案
按热度按时间ifsvaxew1#
此问题可能特定于浏览器。有关详细信息和解决方案,请参阅W3C或MDN documentation。