在插入 CKEDITOR 时向元素添加事件侦听器?

Kir*_*ari 2 events ckeditor

我是 CKEDITOR 的新手。对你们中的一些人来说,回答这些问题可能听起来毫无价值。但是,在过去的几个小时里,我一直在努力为我的问题寻找解决方案。

目的 :

我想一个事件侦听器添加到特定种类的元素(对于例如:span

我试过的:

我使用contentDomCKEDITOR,抛出的事件将事件侦听器添加到span元素。

问题 :

但是,将事件侦听器添加到span将适用于span当前在编辑器中可用的内容。但是,不适用于span用户将来创建的元素 ( )。我现在该怎么办?

ole*_*leq 5

利用事件冒泡的好处 [ 1 , 2 ]。将侦听器附加到编辑器的最顶层元素(可编辑)并过滤掉事件:

CKEDITOR.replace( 'editor1', {
    on: {
        contentDom: function() {
            this.editable().on( 'click', function( evt ) {
                var target = evt.data.getTarget();

                if ( target.is( 'span' ) ) {
                    console.log( 'clicked span!' );
                }
            } );
        }
    }
} );
Run Code Online (Sandbox Code Playgroud)