我有两个 CKeditor 字段,它们是表单的一部分。我在页面上有一些操作按钮,所以每当我点击“清除”或“取消”时,这个功能就会与其他东西一起被触发:
CKEDITOR.instances['ed1'].updateElement();
CKEDITOR.instances['ed1'].setData('');
CKEDITOR.instances['ed2'].updateElement();
CKEDITOR.instances['ed2'].setData('');
这样我就可以清理 CKEditor 字段的内容。问题是,如果我单击“取消”,然后返回页面并单击“清除”,Internet Explorer 会给出“innerHTML 为空或未定义”的 JS 错误。
它在其他浏览器中工作正常,只有当我从不同的按钮连续执行两次更新时才会发生。有解决方法吗?
CKEditor初始化就绪:
CKEDITOR.replace('ed1', { htmlEncodeOutput: true, width:"700",toolbar: 'Basic'
});
CKEDITOR.replace('ed2', { htmlEncodeOutput: true, width:"700",toolbar: 'Basic'
});
我可能应该补充一点,每当我使用取消按钮隐藏表单并显示其他内容时,我都会使用 .show()
和 .hide()
。没有页面重新加载。
最佳答案
我找到了这个问题的解决方案。它这样做的原因是因为我的 clear 方法是使用 jQuery bind
函数触发的,并且没有放在 onReady 函数中,所以它将事件绑定(bind)在一起并给出了这个错误。解决方案是先使用 unbind
。
关于javascript - CKEditor InnerHTML 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7934107/