私はクリックイベントを捕捉するいくつかのCKEDITORフィールドを持つページを持っています。 特定のボタンをクリックすると、フィールドはクリアされますが、残念ながらイベントリスナーも削除されます。CKEDITOR値を変更するとイベントリスナーが削除されます
これは既知の問題であるようです。 私は他の場所で提供されているソリューションを試しましたが、まだ固まっています。
コード:初期、そのままフィールドに
var aInst = CKEDITOR.instances;
for (var key in aInst){
CKEDITOR.instances[key].on('contentDom', function() {
console.log('initial or change');
this.editable().attachListener(this.document,'click', function(){
console.log('iframe click');
});
});
}
クリックは私に 'のiframeクリック' ログを取得します。
CKEDITOR.instances[cpdId+'_flip_text_input'].setData('');
が活性化されたとき、私はログ「初期または変更」を取得するが、フィールドでのクリックはもはやキャッチされていません。
私はそれを解決し、もともとthis.editable().attachListener(this.document,'click', function(){
は単にthis.document.on('click', function(){
CKEditorバージョンのv4.6.2
はJQuery v3.1.1