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