首先,我将首先说我是 javascript 新手,所以希望这不是一个完整的手掌问题。话虽这么说,以下代码应在用户单击编辑器时提醒编辑器的值。
<script type='text/javascript'>
function openEditor(){
html = "Hello World";
config = {
startupFocus : true
};
editor = CKEDITOR.appendTo( 'textBox', config, html );
if (editor) {
editor.on('blur', function(event) {
var ckvalue = CKEDITOR.instances.editor.getData();
alert(ckvalue);
});
}
}
</script>
<html>
<a href='#' onclick='openEditor()'>Open Editor</a><br />
<div id='textBox'></div>
</html>
相反,谷歌浏览器控制台报告:
"Uncaught TypeError: Cannot call method 'getData' of undefined "
现在当我改变
var ckvalue = CKEDITOR.instances.editor.getData();
至
var ckvalue = CKEDITOR.instances.editor1.getData();
有用。这让我感到困惑,因为我从未声明 editor1 实例。我希望有更多经验的人可以向我解释为什么 editor1 工作而 editor 不工作。
这是我在谈论的一个工作示例:http: //jsfiddle.net/s3aDC/6/