TinyMCE - How to add a button that wraps selected text with a tag

前端 未结 2 1753
灰色年华
灰色年华 2021-02-02 00:02

I\'m currently using TinyMCE and would like to add a custom button that works as follows:

  1. User highlights text in the text-editior
  2. User clicks the custom
2条回答
  •  闹比i
    闹比i (楼主)
    2021-02-02 00:25

    A better way to achieve this is to (1) perform a quick check to make sure the selection isn't empty, then (2) use the execCommand() method.

    Using execCommand() means the action will be available to undo. @Warrior's answer uses setContent() which will not be undoable.

    ed.addButton('mybutton', {
      title: 'My button', 
      class: 'MyCoolBtn', 
      image: 'MyCoolBtn.png', 
      onclick: function() { 
        ed.focus();
        var text = ed.selection.getContent({'format': 'html'});
        if(text && text.length > 0) {
          ed.execCommand('mceInsertContent', false, ''+text+'');
        }
      }
    });
    

提交回复
热议问题