2013-05-02 4 views
5

Недавно я попытался интегрировать TinyMce 4.0 в мое веб-приложение. Я хочу поместить событие click, когда я нажимаю на текстовое поле, но оно не работает. Я посмотрел на официальную документацию, и я попытался следующий код:Событие Click на TinyMCE 4.0

tinyMCE.init({ 
    ... 
    setup : function(ed) { 
     ed.onClick.add(function(ed, e) { 
      console.debug('Editor was clicked: ' + e.target.nodeName); 
     }); 
    } 

Есть ошибки, которые появляются: «TypeError: ed.onClick не определен».

Итак, я попытался сразу поставить событие OnClick на IFRAME но это провал:

$("iframe").contents().bind('click', function(){ 
... 
}); 

У вас есть какие-либо идеи о том, как это сделать?

+0

Где вы тест (браузер)? – Amit

+0

Привет, я тестировал последнюю версию Google Chrome и последнюю версию Firefox. – Scipius2012

ответ

0

Хм, вы можете попробовать

$(ed.getDoc()).bind('click', function(){ 
... 
}); 

Update: Похоже, нет никакого редактора инициализации в этот момент времени. Попробуйте

setup : function(ed) { 
     ed.onInit.add(function(ed, e) { 
     ed.onClick.add(function(ed, e) { 
      console.debug('Editor was clicked: ' + e.target.nodeName); 
     }); 
     }); 
    } 
+0

Спасибо за ваш ответ! Я пробовал свой код, но у меня есть следующая ошибка: «ReferenceError: ed не определен». Я даже попробовал (протестировать), чтобы заменить «ed» на «window.tinyMCE.get (« idOfMyTextarea »)», и я снова повторил предыдущую ошибку. – Scipius2012

+0

см. Мой обновленный пост – Thariama

+0

Я пробовал свой код: он отлично работает для версии 3, но не для версии 4. Когда я пытаюсь с версией 4, у меня возникает следующая ошибка: «TypeError: ed.onInit не определено ». Ошибка появляется только на версии 4! – Scipius2012

12

TinyMCE v4 имеет измененные вещи из v3 - попробуйте:

setup : function(ed) { 
    ed.on("click", function() { 
     alert("Editor Clicked! Element: " + this.target.nodeName); 
    }); 
}; 
+0

Важно отметить, что параметр 'ed' в функции для 'click 'не содержит экземпляр редактора. Это был мой случай для обработки событий «init». Чтобы получить доступ к экземпляру редактора (создателю события), используйте ключевое слово - this this, например: 'editor.on ('init', function() { var doc = this.contentDocument; });' – psulek

+0

Спасибо - обновлено чтобы отразить это –

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