我正在使用SWT制作一个所见即所得的HTML5编辑器,通过将body标签的contentEditable
属性设置为true
来实现。
当我执行一些命令,比如document.execCommand('bold')
时,它可以正常工作。但是当我尝试使用document.execCommand('undo')
撤消操作时,没有任何反应。我不知道是否需要设置任何撤消管理器或做其他事情。请帮帮我,谢谢!
我正在使用SWT制作一个所见即所得的HTML5编辑器,通过将body标签的contentEditable
属性设置为true
来实现。
当我执行一些命令,比如document.execCommand('bold')
时,它可以正常工作。但是当我尝试使用document.execCommand('undo')
撤消操作时,没有任何反应。我不知道是否需要设置任何撤消管理器或做其他事情。请帮帮我,谢谢!
在Safari中,撤销功能可用,但如果您经常进行撤销/重做操作,它会崩溃。在版本3中已解决。 如果您在可编辑区域进行自己的更改,则在Mozilla和Safari中继续使用撤销/重做(尽管它会忽略您的自定义更改),但在IE和Opera中它将停止工作。
我不知道SWT可能会对此产生什么影响,但最好使用其他方法。
document.execCommand("undo", "", null)
ExecCommand一直存在很多漏洞,而我对SWT也不是很了解,但希望这能对你有所帮助。
这似乎是一个常见的问题,如Google搜索会显示。以下网站有一个很好的兼容性表格和测试演示。
他们在演示页面上还有以下声明:
撤销/重做在IE中不起作用。问题在于右侧文本区域的更改也被添加到了撤销/重做堆栈中。在最终版本中将没有文本区域,因此解决这个问题并不必要。