Событие нажатия кнопки захвата TinyMCE - PullRequest
4 голосов
/ 12 марта 2012

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

эти кнопки являются кнопками управления по умолчанию, такими как жирный шрифт / курсив / выбор шрифта, а не пользовательские кнопки.

вероятно в init, но я понятия не имею, как позвонить. Я мог бы захватить события редактора, но не кнопки.

Например, допустим, я хочу, чтобы окно сообщений появлялось при каждом нажатии жирной кнопки. Как захватить событие нажатия жирной кнопки? единственное создание пользовательской кнопки?

Ответы [ 2 ]

4 голосов
/ 12 марта 2012

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

Пример: Мы хотим наложить действие на кнопку, выделенную жирным шрифтом. Сначала мы определяем собственную команду в одном из наших собственных плагинов (в разделе «init: function (ed, url)»):

ed.addCommand('my_bold', this.my_bold, this); //calls the function my_bold

Затем мы перезаписываем действие по умолчанию командой:

if (ed.controlManager.get('bold')){
    ed.controlManager.get('bold').settings.cmd='my_bold_action';
};

Теперь нам нужно только определить функцию, выделенную мной жирным шрифтом

my_bold: function() {           
    // exectution of regular command
    this.editor.execCommand('Bold');

    // now do whatever you like here
    ...
},
1 голос
/ 04 мая 2012

ed.controlManager должен вызываться в методе onInit:

ed.onInit.add(function(editor) {
    .......
    ........

    if (editor.controlManager.get('bold')){
       editor.controlManager.get('bold').settings.cmd='my_bold_action'; 
    };

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...