Встроенный плагин Tinymce Call из пользовательского пункта меню - PullRequest
0 голосов
/ 14 октября 2019

Я добавляю кнопки меню в редактор tinymce. В этом интерфейсе одновременно загружаются несколько редакторов TIMIMCE. Все кнопки меню, которые я добавляю, делают некоторые пользовательские стили либо с использованием средства форматирования, либо применяя пользовательские классы CSS к выбранным элементам. В рамках одного из элементов мне нужно также «удалить все форматирование» из выделения, а также добавить текст вокруг выделения. Уже есть встроенный плагин, который делает это, поэтому я хотел бы просто вызвать эту функцию из моего плагина.

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

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

{
  type: 'menuitem',
  text: 'Sample Answer',
  onAction: function() {
    $('button[title|="Clear formatting"]').click(); //I would like to call this function here instead of jQuery clicking a button.
    editor.formatter.apply('sample_answer');
  }
},

1 Ответ

0 голосов
/ 14 октября 2019

Таким образом, после еще нескольких копаний выясняется, что определенное количество команд tinymce может быть выполнено с помощью editor.execCommand RemoveFormat - одна из команд, которую вы можете использовать, поэтому они упростили мне задачу. Мне нужно сделать.

Было бы неплохо узнать, есть ли способ выполнить другие функции, если бы я хотел, но функция execCommand определенно решает эту проблему.

 {
    type: 'menuitem',
    text: 'Sample Answer',
    onAction: function() {
        editor.execCommand('RemoveFormat');
        editor.formatter.apply('sample_answer');
    }
 },
...