我有一个简单的页面,它有两个输入文本字段和一个 textarea 字段。我一直在为这三个表单字段关联一个按键事件。但是现在我已经使用 CKEditor 将 textarea 更改为富编辑器。我使用了 ckeditor.js、adapters/jquery.js 和其他来自 CKEditor 的相关文件。但是现在与 textarea 关联的按键事件失败了。这是我正在使用的代码的一部分。
.....
<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) 停止工作。其他文本字段完美运行。所以,我的问题似乎是用函数正确处理表单事件。谁能在这里给我他的手?您的帮助将不胜感激。
谢谢,