Привязать событие Javascript к редактору JOOMLA MCE

0

Любой эксперт может ответить

До сих пор, что я читаю о редакторе JOOMLA,

он принадлежит к крошечному MCE

Он использует iframe с контентным тегом тела.

Теперь то, что я пытаюсь сделать, - это привязать событие keyup к телу iframe. Но безуспешно. То, что я пробовал, - это следовать.

myEditorField_ifr - это id iframe, который я описал с помощью метода элемента проверки Google, хотя myEditorField - это идентификатор, который я назначил с помощью метода JFORM.

Method1

     $('#myEditorField_ifr').contents().find('body').on('keyup',function(e) {
        alert('bingo?');
     });
     unsuccessful

а также следующий подход, который работал с моим другим iframe, также не работает с tinyMCE

Method2

  $('.#myEditorField_ifr').load(function(){
           alert("hello");
           aaa= $('.#myEditorField_ifr').contents().find('body').on('keyup',function(e) {
        alert('bingo?');
     });

  })

при таком подходе даже предупреждение не выполняется. Есть ли какой-нибудь mehod, как editor->setcontent и editor->getcontent для присоединения событий к TinyMCE???

а также один мини вопрос заключается в том, что этот тип редактора может быть реализован без использования iframe, но почему tinyMCE использует iframe???

Теги:
joomla
tinymce
joomla-extensions
joomla-component

2 ответа

0
Лучший ответ

ничего себе я просто решил.

Проблема заключалась в том, что мой скрипт исполнялся до того, как редактор полностью загрузил себя. и я все еще не могу понять, почему.load() не работает с MCE, хотя.load() успешно работает на других проверенных iframe i.

Так что я сделал, что я сделал событие click, а.keyup() был прикреплен к телу iframe через эту функцию. В моем случае этот сценарий был приемлемым и выполнимым, но, возможно, не для вашего дела.

так что следующий фрагмент кода, который отлично работал, и показывал оповещения на каждой клавиатуре в редакторе JOOMLA.

    $(".myDoButton").on("click",function(){
         aaa= $('.myPreviewEditor iframe').contents().find('body').keyup(function(){
         alert("hoklo");
    });

хотя это лишь временное решение.

0

Чтобы поймать ключевые события, вам, вероятно, придется создать плагин TinyMCE, поскольку, по-моему, редактор использует ключевые события.

Вы, вероятно, захотите прочитать вики TinyMCE о создании плагина

  • 0
    спасибо cppl за рассмотрение моего вопроса

Ещё вопросы

Сообщество Overcoder
Наверх
Меню