标签: events ckeditor
我是CKEDITOR的新手。你们中的一些人回答这些问题可能听起来毫无价值。但是,在过去的几个小时里,我一直在为我的问题寻找解决方案。
目标:
我想为特定类型的元素添加一个事件监听器(例如:span)
span
我尝试了什么:
我使用contentDom引发的CKEDITOR事件,将事件侦听器添加到span元素。
contentDom
CKEDITOR
问题:
但是,向span添加事件侦听器将适用于编辑器中当前可用的span。但是,不适用于将来由用户创建的元素(span)。我现在该怎么办?
答案 0 :(得分:4)
利用事件冒泡的好处[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!' ); } } ); } } } );