2012-05-24 17 views
8

Ho trovato l'editor javascript wysiwyg wysiHTML5.Inserire HTML in modo programmatico nell'editor wysiHTML5

Sto cercando di aggiungere l'elemento <a href=...> all'editor o semplicemente attivare in grassetto in modo programmatico.

Il mio codice è:

var editor = new wysihtml5.Editor("textarea", { 
    toolbar:  "toolbar", 
    stylesheets: "css/wysihtml5.css", 
    parserRules: wysihtml5ParserRules 
}); 

editor.observe("load", function() { 
    editor.composer.commands.exec("bold"); 
}); 

sto facendo qualcosa di sbagliato?

risposta

14

In realtà no, ma devi essere sicuro che la tua textarea (iframe) sia focalizzata. Prova a utilizzare on anziché observe. Ecco un codice di esempio che ha funzionato per me con insertHTML. soluzione

editor.on("load", function() { 
    editor.focus(); 
    editor.composer.commands.exec("insertHTML","<a href=....>text</a>"); 
}); 
+0

Grazie! Ho passato un paio d'ore cercando di capirlo, dovrebbe essere nei documenti –

+1

Se non ti dispiace cancellare l'html nell'editor puoi usare il comando setValue i.e editor.setValue (""); –

+0

Nota i tuoi due punti alla fine dello script. Dovrebbe essere un punto e virgola? –

7
1

assumendo di aver istanziato l'editor in precedenza utilizzando $('#textarea-id').wysihtml5()

$('#textarea-id').data("wysihtml5").editor.setValue('new content'); 

font

+0

Grazie per questa elegante soluzione – elsurudo

Problemi correlati