2 つの入力テキスト フィールドと 1 つのテキストエリア フィールドを持つ単純なページがあります。私は、これら 3 つのフォーム フィールドに keypress イベントを関連付けることで作業を進めてきました。しかし、CKEditor を使用してテキストエリアをリッチ エディターに変更しました。CKEditor の ckeditor.js、adapters/jquery.js、およびその他の関連ファイルを使用しました。しかし、テキストエリアに関連付けられた keypress イベントが失敗するようになりました。ここに私が取り組んでいるコードの一部があります。
.....
<input type="text" id="sub" name="subject" autocomplete="off">
<input type="text" id="rec" name="recvr" autocomplete="off">
<textarea cols="90" rows="18" name="body" id="content" > </textarea>
...
そして私のjqueryでは、CKEditorインスタンスを作成し、フォームフィールドのキープレスイベントを関連付けるために次のものがあります:
....
if(CKEDITOR.instances['body']){
delete CKEDITOR.instances['body'];
}
CKEDITOR.replace('body');
/*translate letters on key press */
$("input#sub").keypress(function(event){
//alert(this.form);
TranslateOnKeyPress(event, this.form);
});
/*$("textarea#body").keypress(function(event){
// alert(this.form);
TranslateOnKeyPress(event, this.form);
});
*/
CKEDITOR.instances['body'].on('instanceReady', function() {
this.document.on('keypress', function(event){
alert(event + ">> " + this.form + " <<< ");
TranslateOnKeyPress(event, this.form);
});
});
....
そのため、問題はthis.form
最後のリターンの CKEditor インスタンスにundefined
あり、TranslateOnKeyPress(event, this.form) が機能しなくなります。他のテキスト フィールドは完全に機能します。したがって、私の問題は、フォームイベントを関数で適切に処理することにあるようです。ここで手を貸してくれる人はいますか?あなたの助けは非常に高く評価されます。
ありがとう、