0

テキストエリアIDまたは配置したクラスに基づいてwysihtml5インスタンスを取得する方法について、Githubのガイドに従っています。この JSFiddle は、私が実行しているエラーを示しています。

http://jsfiddle.net/ez3ajvaf/2/

これは私のHTMLです:

<span class="footer-btn quote" rel=".text-editor" data-text="body-1"><span class="icon"><i class="fa fa-quote-left"></i></span> Quote</span>

<textarea name="body" class="text-editor text-countdown" placeholder="Please allow up to 2,000 characters" maxlength="2000" data-rel="countdown" id="body" required></textarea>

<div class="countdown-wrapper">
    <span id="countdown" class="countdown"></span>
</div>

これは私のJavascriptです:

$('.text-editor').wysihtml5({
    toolbar: {
        "font-styles": true, //Font styling, e.g. h1, h2, etc. Default true
        "emphasis": true, //Italics, bold, etc. Default true
        "lists": true, //(Un)ordered lists, e.g. Bullets, Numbers. Default true
        "html": false, //Button which allows you to edit the generated HTML. Default false
        "link": true, //Button to insert a link. Default true
        "image": true, //Button to insert an image. Default true,
        "color": false, //Button to change color of font  
        "blockquote": true, //Blockquote
    }
});

 $('.quote').on('click', function() {

     console.log('clicked');

     var textarea = $(this).attr('rel');

     console.log($(textarea).data("wysihtml5").editor);

     $(textarea).data("wysihtml5").editor.html('hello');

 });

私が受け取っているエラーは

キャッチされていない TypeError: 未定義のプロパティ 'html' を読み取れません

彼らの github https://github.com/bootstrap-wysiwyg/bootstrap3-wysiwygの下で、 「次のように wysihtml5 エディター オブジェクトにアクセスできます:」までスクロールすると、wysihtml5 を開始したテキストエリア ID に基づいて、この正確なコードが表示されます。 . 私のテキスト エディタは正常に読み込まれ、問題なく動作しますが、インスタンスを取得できないようです。data-wysihtml5そもそもコードを開始するときに、属性として追加されているようには見えません。

「引用」をクリックすると、投稿が引用されます(後でそのコンテキストを取得するために追加できます)。助けや指導をありがとう!

4

2 に答える 2

0

wysihtml5エディターの更新で同じ問題が発生し、これで解決しました:

$('.wysihtml5-sandbox').contents().find('body').html('<b>New text</a>');

私は知っています、それは最善の解決策ではありませんが、これだけが私にとってはうまくいきます。より良い解決策がある場合は、お知らせください。

于 2016-01-18T21:01:14.517 に答える