0

我想在网络基础上创建聊天。我将 CKEDITOR 用于 B、I、U、字体类型、字体大小,就像 Yahoo Messenger 或其他 IM

我已经成功抓住了enter钥匙,但是当我打电话时出现了这个错误:

my_ckeditor_inctance_obj.setData('');

我之所以这样称呼它是因为当按下enter文本时会像其他聊天程序(FB、YM 等)一样消失

我用的是铬。Chrome 的控制台说:

Uncaught TypeError: Cannot call method 'equals' of null ckeditor.js:36
// 详细错误
d.range.getCommonAncestor ckeditor.js:36
(anonymous function) ckeditor.js:133
s ckeditor.js:54
j.enterkey.enterBlock ckeditor.js:53
(匿名函数)

但是,我也使用了按钮发送。当我点击发送时,它工作得很好。

这是我的源代码:

$(document).ready(function(){
// Init CKEDITOR
CKEDITOR.replace('editor1',{
    toolbar:[['Bold','Italic','Underline'],['Font','FontSize'],['TextColor','BGColor']]
});

// Handle for keypress. In this case is When ENTER key is press
CKEDITOR.instances['editor1'].on('contentDom', function() {
    this.document.on('keydown', function(e){
        if(e.data.getKey() == 13){ // Do this code when ENTER is pressed
                var temp=getContent();
                console.log(temp);
        }
    });
});
});

function getContent(){
// Get the editor instance that you want to interact with.
var oEditor = CKEDITOR.instances.editor1;

// Get editor contents
// http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#getData
var temp=oEditor.getData();

//set to blank again
oEditor.setData(''); // This code make error --> Uncaught TypeError: Cannot call method 'equals' of null ckeditor.js:36 BUT when click 'send' button this error didn't show.(send button use this function)
return temp;
}

如何解决这个问题?

更新:
我在这里找到了解决方案输入键来保存 textarea 值

特别感谢AlfonsoML

4

0 回答 0