2016-08-25 10 views
0

私は次はV3で働くことを期待したいTinyMCEの4は、私が使用したい便利なtoggleClass機能、http://archive.tinymce.com/wiki.php/api4:method.tinymce.dom.DOMUtils.toggleClassを持っていますが、この特定のプロジェクトが古いTinyMCEの3.5.11をicorporates ..TinyMCE API 3のtoggleClass機能?

しかし、それは単にtoggleClass()が関数ではないので、v3 APIがこれを提供しないという明確なエラーを投げているだけです。

誰かがtoggleClass()などを提供するTinyMCE 3のプラグインについて知っていますか?これを行うには良い方法がありますか?

文字通り、要素が選択されたときに事前に定義された2つのクラスを切り替えるためのボタンをエディタに追加したいだけです。

よろしくお願いいたします。ここで

答えて

0

...

tinymce.create('tinymce.plugins.ClassToggle', { 
    createControl: function(n, cm) { 
     switch (n) { 
      case 'exampleclasstoggle': 
       var exampleclasstoggle = cm.createButton('exampleclasstoggle', { 
        title : 'Toggle example class', 
        image : '/admin/js/icons/exampleclass.png', 
        onclick : function(v) { 
         if(cm.editor.dom.hasClass(cm.editor.selection.getNode(), 'example')) { 
          cm.editor.dom.removeClass(cm.editor.selection.getNode(), 'example'); 
         } else { 
          cm.editor.dom.addClass(cm.editor.selection.getNode(), 'example'); 
         } 
        } 
       }); 

       return exampleclasstoggle; 
     } 
    } 
}); 

tinymce.PluginManager.add('classtoggle', tinymce.plugins.ClassToggle); 
0

はtoggleClassためのTinyMCEを4からのコードは次のとおりです。

toggleClass: function(elm, cls, state) { 
     this.$$(elm).toggleClass(cls, state).each(function() { 
      if (this.className === '') { 
       $(this).attr('class', null); 
      } 
     }); 
    } 

ちょうどあなたのコードにこの機能を追加し、それを右のパラメータを渡します。

(これはTinyMCEは4でDOMUtils.jsファイル内にある)hasClass、addClassとremoveClass機能にアクセスするためにtinymce.domのAPIを使用してそれを行うには管理

+0

おかげでマイケル。私はこれをコアのTinyMCEファイルにハッキングせずに使用する方法を考え出すことができませんでしたが、代わりにjQueryを使用できるはずだと思ったので、私はtinymce.dom APIを見ていました最終的には働く答えのために使用されました。 – Ric

関連する問題