2013-05-02 11 views
5

最近私はTinyMce 4.0をWebアプリケーションに統合しようとしました。私はテキストエリアをクリックしたときにクリックイベントを入れたいが、それは機能しない。私は公式ドキュメントで見ている、と私は、次のコードを試してみた:TinyMCE 4.0のイベントをクリック

表示されるエラーがあります
tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onClick.add(function(ed, e) { 
      console.debug('Editor was clicked: ' + e.target.nodeName); 
     }); 
    } 

:「例外TypeError:ed.onClickが未定義です」。

だから、私は、IFRAMEの上に直接のonclickイベントを置くことを試みたが、それは失敗だ:

$("iframe").contents().bind('click', function(){ 
... 
}); 

あなたがこれを行う方法上の任意のアイデアを持っていますか?

+0

を? – Amit

+0

こんにちは、Google Chromeの最新バージョンとFirefoxの最新バージョンでテストしました。 – Scipius2012

答えて

0

うーん、あなたは

$(ed.getDoc()).bind('click', function(){ 
... 
}); 

更新を試みることができる:その時点で初期化なしのエディタがないよう が見えます。

setup : function(ed) { 
     ed.onInit.add(function(ed, e) { 
     ed.onClick.add(function(ed, e) { 
      console.debug('Editor was clicked: ' + e.target.nodeName); 
     }); 
     }); 
    } 
+0

あなたの答えをありがとう!あなたのコードを試しましたが、私は次のエラーがあります: "ReferenceError:edは定義されていません"。私は、 "ed"を "window.tinyMCE.get(" idOfMyTextarea ")"に置き換えようと試みました(テストするために)、私は以前のエラーをもう一度見ました。 – Scipius2012

+0

私の更新されたポストを参照してください – Thariama

+0

私はあなたのコードを試してみました:それはバージョン3ではなく、バージョン4ではうまく動作します。バージョン4で試してみると、私は次のエラーがあります: "TypeError:ed.onInitは未定義です"このエラーは、バージョン4でのみ表示されます。 – Scipius2012

12

てみTinyMCEのV4はV3から物事を変えた - してみてください:あなたはテスト(ブラウザ)です

setup : function(ed) { 
    ed.on("click", function() { 
     alert("Editor Clicked! Element: " + this.target.nodeName); 
    }); 
}; 
+0

重要なのは、 'はエディタインスタンスを含んでいません。これは私のinitイベント処理のケースでした。エディタインスタンス(イベントの発信元)にアクセスするには、 -'editor.on( 'init'、function(){ var doc = this.contentDocument; });' – psulek

+0

ありがとうございましたそれを反映する –

関連する問題