2010-08-15 76 views
0

我正在通過JQuery加載TinyMCE,加載後,我想添加一個保存按鈕。保存按鈕正在調用一個函數,但Firebug說該函數沒有定義,在這種情況下,destroyTinyMCE()沒有被定義。怎麼了?通過JQuery加載TinyMCE後,添加一個按鈕,它不工作

$('div#introText').click(function() { 
     loadTinyMCE(); 
     $('div#introText').after('<input value="Save" onclick="destroyTinyMCE();" type="button">'); 
}); 

function loadTinyMCE() { 
//some variable 
} 

function destroyTinyMCE() { 
     $('div#introText').tinymce().destroy(); 
     $('div#introText').tinymce().remove(); 
} 

回答

1

如果這是你document.ready處理程序中,那麼destroyTinyMCE功能的作用範圍只到它,並在全局命名空間中尋找適合它(如onclick="destroyTinyMCE();"會做),它不會在那裏。而不是創建它的時候,這樣的附加單擊處理:

$('<input value="Save" type="button">').click(destroyTinyMCE) 
             .insertAfter('div#introText'); 

這將正確地引用功能,它仍然可以藏內您目前任何關閉。

+0

哦謝謝!它看起來不錯,但我在Firebug中得到'e.selection is null':( – everisk 2010-08-15 14:44:49

+0

@everisk - 聽起來像是在tinymce裏面的東西,你在哪個版本上? – 2010-08-15 14:46:46

+0

我切換到另一個編輯器,它現在正在工作。 – everisk 2010-08-17 06:21:56