【发布时间】:2017-09-17 13:26:16
【问题描述】:
我在我的 JSP 页面中定义了以下文本区域:
<textarea id="edit_subtaskstep_notes" name="edit_subtaskstep_notes" rows="15" cols="50"></textarea>
在我的 js 文件中,我将内容数据设置为:
CKEDITOR.instances.edit_subtaskstep_notes.setData("Hello World");
这成功地将 ckeditor 文本框设置为在运行时包含“Hello World”,但在执行此行后,我的输出窗口中会抛出以下错误:
Uncaught TypeError: undefined is not a function (14:21:03:488 | error, javascript)
at (anonymous function) (:197:29)
如果我删除该行,错误就会消失,但不再设置数据。因为它“似乎”工作,因为数据正在设置,这是 CKEditor v4 的某种错误吗?下载自述文件只是说“CKEditor 4”,但链接版本(不会引发错误)说 4.4.7。
我已将代码简化为以下仍然重现错误的单个文件。包含的在线版本摆脱了错误消息。下载的版本会抛出错误。我没有以任何方式修改下载包。正如我之前所说,它仍然“有效”,我只是不喜欢错误消息:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="js/vendor/jquery-1.11.0.js"></script>
<script src="/ckeditor/ckeditor.js"></script>
<!--<script src="//cdn.ckeditor.com/4.4.7/basic/ckeditor.js"></script>-->
<script>
$(document).ready(function () {
var editInstance = CKEDITOR.replace('editor1');
});
function onClickChangeText() {
CKEDITOR.instances.editor1.setData("Hello World");
}
</script>
</head>
<body>
<textarea name="editor1" rows="10" cols="45"></textarea><br/>
<button onclick="onClickChangeText()">Change Text</button>
</body>
【问题讨论】:
-
CKEditor 的版本是多少?配置?加载的插件列表?重现问题的示例(即 JSFiddle)将是最好的。
-
我进行了编辑以显示一个更简单的示例。我不能使用 JSFiddle,因为我认为问题出在他们的可下载包上,因为链接到在线版本消除了抛出的错误消息。
标签: javascript ckeditor