在SWT中,WYSYWYG contentEditable中的撤销和重做功能无法正常工作。

16

我正在使用SWT制作一个所见即所得的HTML5编辑器,通过将body标签的contentEditable属性设置为true来实现。

当我执行一些命令,比如document.execCommand('bold')时,它可以正常工作。但是当我尝试使用document.execCommand('undo')撤消操作时,没有任何反应。我不知道是否需要设置任何撤消管理器或做其他事情。请帮帮我,谢谢!


2
这个有帮助吗? https://dev59.com/MVTTa4cB1Zd3GeqPtIQb#5062713 - 5hahiL
2个回答

1
根据this quirksmode table,撤销/重做在所有主要浏览器中都可以使用,但是有以下注意事项:

在Safari中,撤销功能可用,但如果您经常进行撤销/重做操作,它会崩溃。在版本3中已解决。 如果您在可编辑区域进行自己的更改,则在Mozilla和Safari中继续使用撤销/重做(尽管它会忽略您的自定义更改),但在IE和Opera中它将停止工作。

我不知道SWT可能会对此产生什么影响,但最好使用其他方法。

document.execCommand("undo", "", null)

ExecCommand一直存在很多漏洞,而我对SWT也不是很了解,但希望这能对你有所帮助。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接