2012-03-28 13 views
0

div内のテキストがクリックされたときに、div replaceメソッドを使用してエディタを表示しても問題ありません。DIVをCKeditorに置き換える

私の問題はエディタを閉じることです。エディタを閉じてエディタを閉じると、エディタの外をクリックすると閉じますが、ツールバーがエディタの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

あなたはハンドラに渡されたMouseEventオブジェクトを、使用、および認識し、どのような要素にユーザーがクリックしたことができます。

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

素晴らしいアイデアを、完璧に動作します! – user1209203

関連する問題