I\'m currently using TinyMCE and would like to add a custom button that works as follows:
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, '<tag>'+text+'</tag>');
}
}
});
ed.addButton('mybutton', {
title: 'My button',
class: 'MyCoolBtn',
image: 'MyCoolBtn.png',
onclick: function() {
// Add your own code to execute something on click
ed.focus();
ed.selection.setContent('<tag>' + ed.selection.getContent() + '</tag>');
}
});