2014-04-10 27 views
2

我正在ASP.NET MVC應用程序中工作。該應用程序具有通過@Ajax.ActionLink引入的表單,並且此表單具有一個我正在綁定CkEditor的textarea。CKEditor初始化後才能運行JavaScript函數

我有特定的要求,包括抓住用戶在CKEditor中鍵入的任何內容,並在按下按鈕時傳遞到某處。

所以我目前正在做的事情是綁定一個onChange事件CKEditor,它工作正常,假設我改變CKEditor textarea內的東西。

但是,如果用戶獲取表單,不會更改任何內容,然後按下按鈕以獲取內容。它不會工作,因爲我的代碼只會在某些事情發生變化之後才抓取。所以我的問題,我怎麼能運行以下命令:

/* 
* As the user types the email body insert, this function updates the 
* value on the hidden input field on [ form#EmailPreviewForm ] above. 
*/ 
var data = CKEDITOR.instances.emailBody.getData(); 
$('#emailBodyInsert').val(data); 

只有後CKEditor的完成初始化,否則我得到一個錯誤說上emailBodyundefined ...這是有道理的,因爲在這一點上具有的CKEditor未被初始化。

我希望以上是清楚的!任何幫助將不勝感激。

謝謝。

回答

5

使用CKEditor的instanceready事件:

CKEDITOR.replace('editor1', { 
    on : 
    { 
     instanceReady : function(ev) { 
      // your code here 
     } 
    } 
}); 
+0

天才!謝謝 :) – Ciwan