2017-02-27 318 views
0

我已經創建了一個自定義按鈕,它將添加具有某些樣式屬性的tinymce中的新div,也可以獲取div或選定節點的現有樣式屬性。 爲了插入新的div,我使用了tinymce.executeCommand()。 用於改變現有的div樣式,設置所有使用JavaScript的屬性後,我已經調用tinymce.save()方法。 但是,當我使用tinymce.getContent()方法獲取tinymce的內容時,它將返回以前的內容而不是更新的內容。在tinymce中不更新樣式屬性

這裏是碼 - plugin.js

editor.addButton ('divstyles', { 
    title: 'Paragraph Styles', 
    image: icon, 
    onclick: function() { 
     // Open window 
     editor.windowManager.open({ 
      title: "Paragraph Styles (div)", 
      id: 'paragraphStyleDiv', 
      url: path, 
      width: 443, 
      buttons: [{ 
       text: 'Apply', 
       onclick: 'submit' 
      }, { 
       text: 'Cancel', 
       onclick: 'close' 
      }], 
      onsubmit: function(ed, e) { 

      var currentNode, newDiv, data, styles, node, isIgnoredTagAvailable = false, 
       ancestorNode; 

       node = tinyMCE.activeEditor.selection.getNode(); 
       setStylesProperty(node); 
       tinyMCE.activeEditor.save(); 

      } 
      tinymce.activeEditor.windowManager.close(); 
     } 
    }); 
} 

});

任何人都可以幫助我。我搜索了它,但沒有找到任何解決方案。 在此先感謝。

回答

0

setStylesProperty函數可以分享這個代碼嗎? 您使用的是editor.dom.setStyle函數?

+0

嘿m.kerkeni,實際上我得到了解決方案,在setStylesProperty之前我設置了樣式屬性 - ** node.style。 **。 但現在,通過使用 - ** node.dataset.mceStyle = node.getAttribute('style')** 這解決了我的問題。無論如何,謝謝你。 :) –

+0

好的Nitika好。 在tinyMce dev中,嘗試使用微小核心中的預定義函數。 在您的示例**編輯器中。 DOM。 setStyle **解決你的問題,因爲這個函數改變了屬性** style **和** data-mce-style **。 –

+0

是的,我已經嘗試過你的解決方案了,它對我的​​工作很好,非常感謝@ m.kerkeni :) –