Создайте пользовательский плагин кнопки в Summernote

Я пытаюсь создать собственный плагин для кнопок в Summernote, но кнопка ui.button создает, конечно, кнопку. Есть ли способ сделать это div например?

context.memo('button', function() {
                return ui.buttonGroup([
                    ui.button({
                        className: 'someClass',
                        tooltip: 'tooltipInfo',
                        data: {
                            toggle: 'dropdown'
                        },
                        click: function() {}
                    }),

То, что я пытался это сделать:

var buttonGroup = ui.buttonGroup([ ... ]);
buttonGroup.changeTag('div');
return buttonGroup;

Затем обновите кнопку вручную и измените ее тег на div. Это "работает", но, например, событие click в buttonGroup, которое я установил, не работает в этом случае. Даже пытался прикрепить событие on('click') к переменной buttonGroup, и все же щелчок не срабатывает.

Любые идеи о том, как я могу добиться этого по-другому?

1 ответ

Решение

Это мой способ поставить кнопку в Summernote

var btnAttch = function (context) {
    var ui = $.summernote.ui;
    var button = ui.button({
        contents:
        '<label class="custom-file-upload"> <input type="file" class="input-file" id="input-file-' + id + '" multiple/>' +
        '<i class="glyphicon glyphicon-paperclip"></i> </label>',
         tooltip: 'Attach file',
     });
}

$(".txtInstrucoes-" + id).summernote({
     height: 300,
     toolbar: [
        ['style', ['bold', 'italic', 'underline']],
        ['color', ['color']],
        ['para', ['ul', 'ol', 'paragraph']],
        ['fontsize', ['fontsize']],
        ['btn-anexar', ['btnAnexar']]
     ],
     buttons: {
        btnAttch: btnAttch
     },
     disableDragAndDrop: true,
     disableResizeEditor: true,
     callbacks: {
        onInit: function () {
            $.EmpresaAPI.Events.OnChangeInputFile(id);
        },
      }
})
Другие вопросы по тегам