2015-04-02 45 views
2

有沒有辦法只刪除CKEditor撤消堆棧中的最後一個快照,或者我可以用另一個替換它。我是否應該自己實現它?如何只丟棄CKEditor撤消堆棧的最後一個元素?

實施例:

步驟1

步驟2 --should被移除並用步驟3(在給定的情況)

步驟3取代 - 應該成爲步驟2

這功能只有在發生特殊事件時纔可用。

回答

3

如果撤銷快照是用戶操作的結果,這種方式如下:

  1. 第1步:
  2. 第2步:
  3. CKEDITOR.instances.editor.fire('lockSnapshot')
  4. 第3步:
  5. CKEDITOR.instances.editor.fire('unlockSnapshot')

當然,你必須檢測到wh在正確的時間開始並開始正確的活動。

如果改動的內容是從代碼中完成,editor#updateSnapshot事件甚至會更好:

function() { 
    editor.fire('saveSnapshot'); 
    editor.document.body.append(...); 
    // Makes new changes following the last undo snapshot a part of it. 
    editor.fire('updateSnapshot'); 
    .. 
} 
+0

但如果我將拍攝的圖像,並希望它彈出(刪除)。我無法檢測到何時鎖定快照? – rpet 2015-04-02 09:07:25

+1

你不能彈出它。你可以使用'editor#updateSnapshot'來覆蓋它。但是我們對你想要達到的目標(更廣泛的圖景)不夠了解,所以很難說這是否是正確的選擇。也許你需要做一些非常不同的事情。 – Reinmar 2015-04-02 14:58:05

+0

你能否提供一些擴展樣本?即HTML與每一步對應。 – oleq 2015-04-02 14:59:21

相關問題