我正在尝试使用document.execCommand找到一种自定义命令的方法。 基本上,我需要有类似的东西
document.execCommand('customCommand');
在这种情况下,customCommand 会使用特定标记包装所选内容。我能够通过使用 range.surroundContents 来实现这一点,但是,我还需要能够在任何给定时间撤消操作。例如,当您执行 execCommand('bold')两次时,在第一次运行后,它会使文本变为粗体,第二次运行会将其展开。
是否有类似range.unsurroundContents的内容?
答案 0 :(得分:3)
您可能需要阅读富文本编辑的Mozilla示例:
https://developer.mozilla.org/en-US/docs/Rich-Text_Editing_in_Mozilla
我认为您不能使用execCommand()
来做这些事情。另外,execCommand()
对浏览器不友好。
最好的做法是编写自己的操作DOM的函数。他们有做这类事情的例子,虽然不是你要问的具体内容。