2017-01-12 39 views
-1

我想在summernote工具欄中添加2個自定義按鈕,1只是簡單地添加一個換行符,另一個插入一些小樣式的文本。當我使用按鈕時,它會清除html,並且不執行所需的結果(換行符或插入小文本)。我怎樣才能從工具欄選擇插入HTML並讓它不被更改?在summernote中自定義工具欄按鈕上插入html的問題

這裏是按鈕呈現的jQuery:

var BR_Button = function (context) { 
 
    var ui = $.summernote.ui; 
 

 
    // create button 
 
    var button = ui.button({ 
 
    contents: 'BR', 
 
    tooltip: 'Line Break', 
 
    click: function() { 
 
     // invoke insertText method with 'hello' on editor module. 
 
     context.invoke('editor.insertText', '<br/>'); 
 
    } 
 
    }); 
 

 
    return button.render(); // return button as jquery object 
 
} 
 

 
var Small_Button = function (context) { 
 
    var ui = $.summernote.ui; 
 

 
    // create button 
 
    var button = ui.button({ 
 
    contents: 'small', 
 
    tooltip: 'Small Style Emphasis', 
 
    click: function() { 
 
     // invoke insertText method with 'hello' on editor module. 
 
     context.invoke('editor.insertText', '<small>small text</small>'); 
 
    } 
 
    }); 
 

 
    return button.render(); // return button as jquery object 
 
}

而且工具欄自定義代碼:

$('#id_text').summernote({ 
 
\t \t toolbar: [ 
 
\t \t ['paragraph', ['paragraph']], 
 
\t \t ['fontsize', ['style','fontname','fontsize','height']], 
 
\t \t ['style', ['bold', 'italic', 'underline', 'clear']], 
 
\t \t ['font', ['small','strikethrough', 'superscript', 'subscript']], 
 
\t \t ['color', ['color']], 
 
\t \t ['para', ['BR','ul', 'ol',]], 
 
\t \t ['insert', ['table','link','picture','video','hr']], 
 
\t \t ['codeview', ['codeview']], 
 
\t \t ], 
 
\t \t focus: true, 
 
\t \t buttons: { 
 
\t \t \t \t small: Small_Button, 
 
\t \t \t \t BR: BR_Button 
 
\t \t \t \t } 
 
\t \t });

釷問題是,當我點擊工具欄上的BR按鈕時,它會插入< br/>,而不是給我一個實際的換行符。

回答

0

而不是使用'editor.insertText',使用'editor.pasteHTML'和這允許插入html而不是強制安全字符。

var BR_Button = function(context){ var ui = $ .summernote.ui;

//創建按鈕 VAR鍵= ui.button({ 內容: 'BR', 工具提示: '插入換行', 點擊:功能(){// 調用insertText方法與' hello'on編輯模塊 context.invoke('editor.pasteHTML','
'); } });

相關問題