2012-05-24 8 views
8

Znalazłem javascript edytor WYSIWYG wysiHTML5.Wstawianie HTML programowo w edytorze wysiHTML5

Próbuję dodać element <a href=...> do edytora lub po prostu włączyć pogrubienie programowo.

Mój kod to:

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

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

robię coś źle?

Odpowiedz

14

Właściwie nie, ale musisz mieć pewność, że twoje pole tekstowe (iframe) jest skupione. Spróbuj użyć on zamiast observe. Oto przykładowy kod, który działał dla mnie z insertHTML. Rozwiązanie

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

Dzięki! Spędziłem kilka godzin próbując to rozgryźć, powinno to być naprawdę w dokumentach. –

+1

Jeśli nie masz nic przeciwko kasowaniu html w edytorze, możesz użyć polecenia setValue, np. Editor.setValue (""); –

+0

Zwróć uwagę na dwukropek na końcu skryptu. Czy powinien to być średnik? –

7
1

przy założeniu, że wcześniej utworzono edytor przy użyciu $('#textarea-id').wysihtml5()

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

font

+0

Dzięki za to eleganckie rozwiązanie – elsurudo

Powiązane problemy