我正在做WYSYWYG HTML5編輯器通過將SWT中的contentEditable
屬性設置爲true
。在所見即所得內容中撤消和重做內容在SWT中可編輯不起作用
當我執行一些像document.execCommand('bold')
這樣的命令時,它可以很好地工作。但是當我嘗試撤消與document.execCommand('undo')
的操作時,什麼也沒有發生。我不知道是否必須設置任何撤消管理器或執行此類操作。你能幫我嗎 ?
我正在做WYSYWYG HTML5編輯器通過將SWT中的contentEditable
屬性設置爲true
。在所見即所得內容中撤消和重做內容在SWT中可編輯不起作用
當我執行一些像document.execCommand('bold')
這樣的命令時,它可以很好地工作。但是當我嘗試撤消與document.execCommand('undo')
的操作時,什麼也沒有發生。我不知道是否必須設置任何撤消管理器或執行此類操作。你能幫我嗎 ?
這似乎是一個常見問題,因爲Google search will reveal。以下網站有一個很好的兼容性表和演示測試。
他們也有演示頁上如下語句:
撤銷/重做無法在IE瀏覽器。問題在於右邊的文本區 中的更改也被添加到撤銷/重做堆棧。 會在最終版本中沒有textarea,所以沒必要 解決問題。
據this quirksmode table,撤消/所有主流瀏覽器重做的作品,但它有這樣一個字條:
撤銷工作在Safari瀏覽器,但如果你撤銷/重做很多時候,它崩潰。解決在3. 如果您在可編輯區域做出自己的更改,撤消/重做將繼續在Mozilla和Safari中工作(儘管它會忽略您的自定義更改),但在IE和Opera中它將停止工作。
我不知道SWT如何影響這一點,但它可能是最好使用
document.execCommand("undo", "", null)
的execCommand一直是非常錯誤的,我不知道很多關於SWT,但我希望這可以幫助你。
這是否有幫助 http://stackoverflow.com/a/5062713/903454 – 5hahiL 2012-11-24 10:50:25