2015-04-03 94 views
2

是否有任何事件在自定義div內發生更改時觸發?我不想偵聽editor.on('change'),但僅檢測在哪個dom元素正在發生變化,(刪除或插入字符)。例如:如何更改CKEditor元素

var template = new CKEDITOR.template(
     '<div class="layout-container">\ 
        <div class="layout-column-content" >\ 
         <p>content</p>\ 
        </div>\ 
       </div>\ 
      </div>\ 
     </div>' 
); 

var layoutElement = CKEDITOR.dom.element.createFromHtml(template); 
editor.insertElement(layoutElement); 

在它增加了定製layout.User類型,我想看看是他打字不遍歷整個DOM。我試圖添加監聽器的div,但似乎CKEditor清理它們。任何聰明的解決方案?

編輯: 這個插件http://ckeditor.com/addon/elementspath是可能的解決方法: 我已經解決了我的問題,在這個片段:

editor.on('elementsPathUpdate', function(event) { 
     elementsList = editor._.elementsPath.list; 
    }); 

與變更事件相結合。

回答

0

我所知道的唯一的解決辦法是這個插件:http://alfonsoml.blogspot.de/2011/03/onchange-event-for-ckeditor.html

+0

我知道它,但它僅偵聽變化和觸發一個事件,它並沒有給其中的DOM元素的變化正在發生的信息。 – rpet 2015-04-03 16:56:44

+0

下載插件並閱讀其代碼。使用Mutation Observer監聽器,您可以獲得有關編輯器中所有更改的所有信息。 – AlfonsoML 2015-04-04 19:29:29

+0

@AlfonsoML Hi Alfonso。如果你不介意並且有一些時間,你能向我展示一個關於如何完成OP所需要的內容的例子嗎?我也對此感興趣。感謝您的時間和關注。 – Loa 2017-06-02 18:44:11