2016-02-06 2 views
1

Я пытаюсь реализовать редактор Summertnote. Вот код JS:Пользовательский диалог Summernote и кнопка

$(document).ready(function() { 
//Summernote 
//var te_markdown = document.getElementById("code-markdown");. 
var textarea = document.getElementById("code"); 
var HelloButton = function (context) { 
    var ui = $.summernote.ui; 
    // create button 
    var button = ui.button({ 
     contents: '<i class="fa fa-child"/> Hello', 
     tooltip: 'Ciao!', 
     click: function() { 
      // invoke insertText method with 'hello' on editor module. 
      context.invoke('editor.insertText', 'hello'); 
     } 
    }); 
    return button.render(); // return button as jquery object 
} 
function autoFormat() { 
    var totalLines = editor.lineCount(); 
    editor.autoFormatRange({line:0, ch:0}, {line:totalLines}); 
} 
$('#st-editor').summernote({ 
    lang: 'it-IT',    // set italian language 
    height: 350,     // set editor height 
    width: 350,     // set editor width 
    minHeight: null,    // set minimum height of editor 
    maxHeight: null,    // set maximum height of editor 
    dialogsFade: true,   // set fade on dialog 
    prettifyHtml: false, 
    toolbar: [ 
     ['mybutton', ['hello']] 
    ], 
    buttons: { 
     hello: HelloButton 
    }, 
    codemirror: {    // codemirror options 
     mode: "text/html", 
     lineNumbers: true, 
     lineWrapping: true, 
     extraKeys: {"Ctrl-Q": function(cm){ cm.foldCode(cm.getCursor()); }}, 
     foldGutter: true, 
     theme: 'monokai', 
     gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"] 
    } 
    }, 
    focus: true set focus to editable area after initializing summernote 
}); 

я получить код здесь: http://summernote.org/deep-dive/#custom-button Таким образом, в этом примере я хочу просто поставить «Hello» строку, нажав на кнопку, но он дает мне ошибку «TypeError: контекст не определенно». Кто-нибудь может мне помочь?

Благодаря

ответ

2

Вместо

context.invoke('editor.insertText', 'hello'); 

использования

$('#st-editor').summernote('editor.insertText', 'hello'); 

работает только если у вас есть один редактор, конечно. Я все еще ищу, как передать этот контекст. Может быть, что-то с onInit, но я не мог заставить его работать.

+0

Фантастический! Отлично работает! – pinguinone

+0

Передача контекста обработчику событий устарела как на Summernote ~ 0.8, поэтому единственный правильный ответ - это то, что вы предоставили – komsky

Смежные вопросы