[英]getting contents with tinyMCE?
我有一個tinyMCE textarea #frmbody,我正在使用它的jquery實例。
<textarea class="tinymce" name="frmbody" id="frmbody" cols="30" rows="20"></textarea>
我正在嘗試以用戶類型獲取textarea的內容。
$("#frmbody").live('keyup', function(e) {
alert("keyup");
});
上面的代碼不起作用,我不知道為什么。 如果我刪除tinyMCE實例,上面的代碼工作正常。 有任何想法嗎?
這是因為TinyMCE的實例不是真正的textarea,因此未檢測到keyup事件。 請嘗試使用onchange回調 。
可以使用以下方法獲取編輯器的內容:
tinymce.activeEditor.getContent();
如果要附加onchange事件,請根據此頁面http://www.tinymce.com/wiki.php/api4:class.tinymce.Editor ,使用以下代碼創建編輯器:
var ed = new tinymce.Editor('textarea_id', {
init_setting_item: 1,
...
}, tinymce.EditorManager);
ed.on('change', function(e) {
var content = ed.getContent();
$("#textarea_id").val(content); // update the original textarea with the content
console.log(content);
});
ed.render();
請注意,當用戶解除注意時,onchange會觸發,按Enter鍵或按工具欄按鈕而不是每次按鍵。
您可以通過以下方式制作tinyMCE自己的監聽器: http ://www.tinymce.com/wiki.php/API3:event.tinymce.Editor.onKeyUp
或者自己編寫並使用內置函數getContent: http ://www.tinymce.com/wiki.php/API3: method.tinymce.Editor.getContent
編寫自己的處理程序並將其分配給編輯器iframe文檔非常容易。 已經定義了像keyUp這樣的各種事件的tinymce處理程序
以下是將自己的處理程序分配給編輯器iframe文檔的標准方法
var my_handler = function(event) {
alert('my handler fired!');
};
var ed = tinymce.get('my_editor_id');
$(ed.getDoc()).bind('keyup', my_handler);
TinyMCE隱藏文本區域並創建一個html容器。 如果您在框中寫入內容,則其名稱為"TEXTAREANAME_ifr"
的iFrame。
試試這個:
$("#frmbody_ifr").live('keyup', function(e) {
alert("keyup");
});
我認為Thariama已經說過來自TinyMCE的EventHandler將是最好的方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.