JS CKEditor使用setData后绑定click事件

Posted 忘光了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS CKEditor使用setData后绑定click事件相关的知识,希望对你有一定的参考价值。

CKEditor使用setData()时会自动丢失初始时绑定的时间,在百度时发现有很多方法都不对。

近期在做项目的时候,由于客户需要,将原来的文本格式的textarea标签更改成富文本编辑器--CKEditor,插件使用起来很方便,网上教程很多。API看起来比较麻烦。

为文本框添加绑定事件的两种方式:

1、CKeditor预加载时可以绑定一次:

IS代码:

var a = CKEDITOR.replace( id);//id是页面元素的ID值;ckeditor_onFocus是自己定义的方法
    a.on("instanceReady", function () {
    this.document.on("click", function () {ckeditor_onFocus(id);});
});

第一个方法很简单易懂,开始初始化时就绑定事件。这样做事对的,但是CKEditor在使用赋值方法setData()之后,初始化绑定的click事件 就会自动丢失;

所以在每次使用setData()方法后需要重新绑定事件,两个绑定方法是不一样的。

JS代码:

function CKE_setData(id,va){//id是页面元素的id值;va是需要赋值的内容
  CKEDITOR.instances[""+id+""].setData(va,function() {
  CKEDITOR.instances[""+id+""].on("focus", function () {ckeditor_onFocus(""+id+"");});
  } );
}

重新绑定后,再次点击就可以实现绑定的事件效果了。

 

 

在使用CKEditor的时候一定要注意着两种绑定事件的方法。

以上是关于JS CKEditor使用setData后绑定click事件的主要内容,如果未能解决你的问题,请参考以下文章

小程序数据绑定和setData

仅在CKEditor初始化后运行JavaScript函数

ckeditor使用

CKEditor 5 - 允许 span 元素和属性

CKEDITOR使用与配置

CKEditor5 使用第二天 获取回传数据,图片上传