2012-01-09 13 views
5

私は既存のプロジェクトに取り組んでいます。私はAJAX経由で自動的に保存するために、小さなMCE focusout/blurイベントを検出する必要があります。私は、次の既存の作業コードを見つけました:tinyMCE textarea focusoutイベントですか?

// reinit tinymce 
$($("#chapterBill div:.module-container")[indexAfter]).find('textarea').each(function(i){ 
    editorId = $(this).attr('id'); 
    tinymce.EditorManager.execCommand('mceAddControl',true, editorId); 
}); 

誰かがどのようにTinyMCEをテキストエリアfocusout/blurイベントをキャプチャすることを教えてもらえますか?

ありがとうございます。

答えて

5

テキストエリアフォーカス/ブラーをキャプチャしたくありません。 Tinymceは元のテキストエリアを隠し、contenteditable iframeを作成します。そこにコンテンツを入力/編集できます。このコンテンツは、時折以前の隠されたテキストエリアに書き込まれます(イベントベース)。

エディタでフォーカスアウト/ブラーをキャプチャするには、エディタiframeでハンドラを設定する必要があります。

私はあまりにもAJAX経由で動的にTinyMCEのコンテンツを保存するために、ソリューションに取り組んでいたあなたのTinyMCEのinitを

setup : function(ed) { 
    ed.onInit.add(function(ed, evt) { 
     tinymce.dom.Event.add(ed.getDoc(), 'blur', function(e) { 
      // Do something when the editor window is blured. 
      alert('blur!!!'); 
     }); 
    }); 
}, 
+1

私はこれに多くの時間を費やし、ついにそれを手に入れました。ありがとう。完璧な説明です。 – Awan

+1

助けてくれると嬉しかった – Thariama

+1

Google Chromeには、「ぼかし」にいくつかの問題があると思います。 Firefoxでは完全に動作しています。 – Awan

0

にこのコードを入れてください。多くの答えはinitでこのオプションを設定するように指示していますが、このコードはいくつかのシステムで使用されているため、私にとっては利便性がありませんでした。 idがあなたのtextarea要素に設定されたid属性であることで

$(window).load(function(){ 
    tinymce.get('id').on('blur', function(e) { 
     var content = tinymce.get('id'); 
     console.log(content); 
    }); 
}); 

:私はそうのように実装することができましたページの特定のソリューションを、必要。

関連する問題