我对 JS 不太熟悉,所以发帖求助
我希望开发一个插件,可以选中文本后,添加英文引号、中文引号、中文直角引号
但基础功能就卡住了,简单摸索后只想到一个方案
- window.getSelection().toString() 获取选中的文字
- document.execCommand("delete"); 删除文字
- document.execCommand("insertHTML") 插入文字
function replaceSelectedText() {
var sel, range;
if (window.getSelection) {
// 获取当前的选择对象
sel = window.getSelection();
if (sel.rangeCount) {
// 获取选中的文字
text = window.getSelection().toString();
// 删除选中的文字
document.execCommand("delete");
// 插入指定文字
document.execCommand("insertHTML",false,`「**${text}**」`);
}
}
}
replaceSelectedText();
想问问各位大佬
-
我用上述方法已经可以实现对选中文本进行处理了,但是会报错,不知道怎么解决
-
有什么更好的实现方式吗?document.execCommand 这个方法是不是不太好
-
思源笔记的工具栏的加粗、高亮等功能是怎么实现的?
-
有没有人已经做了类似的功能,有的话能否告知我(我知道 quicker 动作可以做出来,但我还是希望思源本身有这个功能)