3

掲示板には最新(0.3.0)バージョンのWSYIHTML5を使用しています。ボードの機能の1つは、見積もり投稿オプションです。テキスト領域に引用符を追加する方法を理解しようとしています。

テストとして次のjQueryがあります

$('.quote').click(function(){
  $('textarea').append('test this');
  alert($('textarea').text());
});

アラートは、テキストが非表示のテキストエリアに追加されたことを示していますが、WYSIHTML5ビューのiframeでは更新されません。

奇妙なことに、WYSIHTML5を初期化した後、テキストをまっすぐに追加すると、問題なく追加されます。

これを機能させるためのアイデアはありますか?

4

3 に答える 3

12

そこで、iframeを更新して、テキストをHTMLでフォーマットするために、次のようにしました。

var value = editor.getValue();
var text = '<b>some text</b>;'
editor.setValue(value + text, true);

これは、WYSIHTML5が変数「editor」の下でインスタンス化されることを前提としています。引用符を追加し、テキストを正しくフォーマットします。ブール値は、値をWYSIHTML5パーサールールで実行する場合に使用します。

誰かがそれを行うためのより良い方法を知っているなら、私はすべての耳です。

于 2012-11-02T02:43:33.420 に答える
1
$('iframe').contents().find('.wysihtml5-editor').html('your new content  here');
于 2016-08-20T17:15:35.623 に答える
0

bootstrap-wysihtml5の場合、次の関数を使用します。

<script>

  $(function () {
    // Replace the <textarea id="editor1"> with a CKEditor
    // instance, using default configuration.
  //  CKEDITOR.replace('editor1');
    //bootstrap WYSIHTML5 - text editor
    $(".textarea").wysihtml5();

  });



function injectString(str){
   var sel=frames[0].getSelection();
   var nd=sel.anchorNode;
   var txt=nd.data+'';
   var pos=sel.anchorOffset||0;
   sel.anchorNode.data=txt.slice(0,pos)+str+txt.slice(pos);
 }</script>

このように使用する

<button id="name" data-wysihtml5-command="foreFrac" onclick="injectString('{name}')" type="button" class="btn btn-block btn-success btn-lg">Name </button>
于 2016-10-19T04:18:46.150 に答える