我正在使用原生JavaScript构建一个业余富文本编辑器,而document.execCommand()对于启用文本编辑器的核心功能至关重要。
例如加粗、斜体和无序列表命令:
Array.from(toolbarBtn).forEach(btn => {
btn.addEventListener('click', (e) => {
e.preventDefault();
if (e.target.id === "toolbar__btn--bold") {
format('bold');
}
if (e.target.id === "toolbar__btn--italic") {
format('italic');
}
if (e.target.id === "toolbar__btn--unorderedlist") {
format('insertunorderedlist');
}
});
});
然而,在查阅 MDN Web Docs 上这个命令时,我看到这个命令被认为是过时的:
已过时 此功能已过时。虽然它在某些浏览器中仍然可以工作,但由于它可能随时被删除,因此不建议使用它。尽量避免使用。
所以,我想知道是否有替代方法在普通 JavaScript 中能够创建所有 Rich Text Editor 功能,就像 execCommand() 这样做?
谷歌搜索没有给我任何结果,因此与此同时,我想知道,为什么这个方法被宣布为过时,却没有提供替代方案。
execCommand
的大部分功能可以用Selection和Range API来替代,但一些命令(如剪贴板命令和撤销命令)除外。 - Teemu