2012-03-29 18 views
0

私はJQueryでWebページでCKEditorを使用しています。ユーザーがテキストにトークンを挿入できるようにすることに挑戦します。トークンは選択ボックスから来ます。だから、ユーザーが書き込むことができます。基本的なCKEditor/JQueryイベントが機能しない

こんにちは、%最初の名%を、 私たちのレコードは、あなたの現在のメールアドレスは%%現在のメール送信アドレスであることを示す.......

アイデアビーイングを、一度フォームが投稿されると、「To」リストのすべての本文に対してトークンが解析され、パーソナライズされた電子メールが送信されます。次のように

私のアプローチは、おおよそ次のとおりです。

はJQueryでボックスのonChangeを選択し、私はその位置にトークンを挿入し、その後、現在のキャレット位置は何であるCKEditorバージョンのインスタンスを頼みますよ。

TEXTAREAは次のように定義される:結合

<textarea rows="10" cols="100" id="wysiwyg" name="emailText"></textarea> 

CKEditorバージョンのjQuery:

var config = { 
     skin:'v2', 
     toolbar : 'Basic' 
    }; 
$('#wysiwyg').ckeditor(config); 

wysiwygはTEXTAREAのIDです。

私はいくつかの基本的なイベント機能をテストしたかったし、次を試してみましたが、どれも動作しているようだん:

$('#wysiwyg').on('click', function() {alert('honum'); }); // Does not work 

var editor = CKEDITOR.instances.wysiwyg; 
$(editor).on('click', function(evt) {alert('honum'); }); // Does not work 

var element = CKEDITOR.document.getById('wysiwyg'); // No luck here either 
element.on('click', function(ev) { 
    alert('hohum'); 
}); 

誰も私が間違ってやっているものを私に教えてくださいことはできますか?この問題を進める正しい方法は何ですか、どのポインタも大いに感謝されます。

+0

CKエディタを。 –

+0

'var editor = CKEDITOR.instances.wysiwyg;'そのckエディタを取得するべきではありませんか? – kmansoor

+0

いいえ、それは 'CKEDITOR'クラスのインスタンスです。それはオブジェクトです。実際のエディタはiframeです。 –

答えて

0

は働いていた以下の理由が、知ってはいけない:あなた実際に入力テキストには、IDを持っている同じテキストエリアではありません

CKEDITOR.instances.wysiwyg.on('paste', function() { 
    alert ('Hohum'); 
}); 
関連する問題