2012-01-09 2 views
3

Я хочу добавить полноэкранный вариант в редактор tinyMCE. Иногда пользователи не знают, что им нужно щелкнуть значок «полноэкранный» на панели инструментов, чтобы закрыть полноэкранный режим. так в пробке в Я добавил это:Добавить кнопку закрытия в полноэкранный режим tinyMCE

$('#mce_fullscreen_container').click(function (e) { 
    e.stopPropagation(); 
    tinyMCE.activeEditor.execCommand('mceFullScreen'); 
}); 

Однако, это также вызывается, когда пользователь щелкает внутри Wysiwyg области. mce_fullscreen_container - это серая область вокруг wysiwyg, и я хочу, чтобы при щелчке вне редактора wysiwyg полноэкранный режим закроется.

Я пробовал применить .not("#mce_fullscreen_container"), который находится внутри контейнера, не повезло.

+0

Вы пробовали глядя на коде из «полноэкранного режима» кнопка tinymce? если эта кнопка закрывает полноэкранный режим, вы можете повторно использовать этот код в своем собственном «закрытом полноэкранном режиме» – T23

+0

, чтобы эта часть работала. Я закрыл его; ОДНАКО, он также закрывает полноэкранный режим при нажатии на кнопку BOLD/ITALIC или другие кнопки в окне wysiwyg. И я хочу, чтобы он закрывался ТОЛЬКО при нажатии за пределами области wysiwyg, то есть в серой области вокруг него «mce_fullscreen_container». По какой-то причине он распространяет ??? – ShaneKm

+1

Хм, вы говорите: «mce_fullsreen_container» является серым, но в моем tiny_mce мгновении div с id «mce_ful ..» - это весь «окна» редактора, что означает всю панель инструментов и редактор. Это объясняет поведение, у вас есть – T23

ответ

0

Переменная с именем e является событием click. Проверьте цель события клика и на основе этого запуска tinyMCE.activeEditor.execCommand('mceFullScreen');, если это необходимо. Пальцы пересекли это, потому что у меня нет возможности проверить это на данный момент.

Для более совершенного программирования TinyMCE рассмотрите параметр конфигурации setup, который может принимать функцию, которую вы можете использовать для настройки редактора для программных событий. Это очень полезно, если вам нужно сделать несколько вещей.

http://www.tinymce.com/wiki.php/API3:event.tinymce.Editor.onClick

пример полезен в вашем контексте, как это может быть чист способом получения TinyMCE делать то, что вы хотите:

// Adds an observer to the onClick event using tinyMCE.init 
tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onClick.add(function(ed, e) { 
      console.debug('Editor was clicked: ' + e.target.nodeName); 
      // check target here to see if it is your close button and if so... 
     }); 
    } 
}); 
+1

, это срабатывает только при нажатии ВНУТРИ области wysiwyg. :( – ShaneKm

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