用CKeditor替换DIV

时间:2012-03-28 10:10:32

标签: javascript

我正在使用div替换方法在单击div中的文本时显示编辑器,这样可以正常工作。

我的问题是关闭编辑器。我正在使用附加到主体的单击事件来关闭编辑器,该工具正常工作,因此在编辑器外部单击会关闭它,但由于工具栏未加载到编辑器iframe中,因此单击这些按钮也会关闭编辑器,我不会这样做。我想要。

那么如何通过用户点击整个编辑器外的任何地方而不仅仅是文本输入来关闭编辑器。

function ckEditor()
{

editor=CKEDITOR.replace( 'campaign_text',
{
toolbar : 'Mini'
});

if ( window.addEventListener )
document.body.addEventListener( 'click', removeCk, false );
else if ( window.attachEvent )
document.body.attachEvent( 'onclick', removeCk );
}


function removeCk(){
editor.destroy();
}

1 个答案:

答案 0 :(得分:1)

您可以使用传递给处理程序的MouseEvent对象,并识别用户单击的元素:

function removeCk(e){
    var currentElement = document.elementFromPoint(e.clientX, e.clientY);
    // ... destroy ckeditor only if currentElement isn't in panel
}