CKEditor InnerHTML错误

时间:2011-10-28 19:48:40

标签: javascript jquery ckeditor

我有两个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()。没有页面重新加载。

1 个答案:

答案 0 :(得分:1)

我找到了解决这个问题的方法。之所以这样做是因为我的clear方法是使用jQuery bind函数触发的,并没有放在onReady函数中,所以它将事件绑定在一起并给出了这个错误。解决方法是首先使用unbind