2010-12-13 2 views
3

У меня есть управление textarea, и я использую библиотеку TinyMCE, чтобы добавить функциональность редактирования контента к этому textarea.Отображение элементов управления TinyMCE только тогда, когда пользователь редактирует контент

Изначально, когда страница загружена, текст textarea не будет содержать никаких дополнительных элементов управления форматированием. Но когда пользователь нажимает на текстовую область , элементы управления tinyMCE должны быть добавлены в текстовое поле.

я был в состоянии сделать это произошло с помощью этого кода JQuery:

$("textarea").focus(function(){ 
    $(this).tinymce(); 
}); 

Но проблема начинается тогда, когда я хочу, чтобы скрыть элемент управления, когда пользователь перемещается из текстового поля. Я не мог найти способ связать обработчик события blur с этим текстовым полем, потому что tinyMCE заменяет мою текстовую область фреймом iframe и форматированным содержимым внутри.

Есть ли какой-либо способ показать элемент управления tinyMCE только тогда, когда пользователь редактирует содержимое и скрывает его, когда пользователь покидает область редактирования?

ответ

2

Вы должны позвонить $(this).tinymce(); только один раз (первый раз, когда textarea получает фокус). Второй раз он получает фокус вы должны вызвать

tinyMCE.get(editorid).show(); 

To hide the tinymce и показать текстовое поле, вы должны позвонить

tinyMCE.get(editorid).hide(); 

Вы можете назвать это, когда есть, когда родительский документ получает фокус.

$(document).focus(function(){ 
    tinyMCE.get(editorid).hide(); 
}); 
+0

Как получить идентификатор редактора? Является ли это идентификатором, который я даю своему текстовому пространству? – Veera

+0

и я получаю ошибку JS, говоря, что «tinymce не определен» – Veera

+1

извините, теперь исправлено – Thariama

Смежные вопросы