5

私は現在、テキストから記号への変換ツール(非営利団体)を開発していますが、次の問題が発生しています。

テキストのWYSIWYG編集には、(jHtmlAreaのような)小さなwysiwygエディターを使用したいと思います。このエディターはフローティングdivを表示するので、多くのキー押下(スペース/矢印など)をインターセプトする必要があります

現在、私のhtml領域は次のようにロードされます。

<script type="text/javascript">    
$(function() {
            $("#txtCustomHtmlArea").htmlarea({
                 loaded: function() {
                 $(this.editor).keydown(function(event) { 
                     if(event.keyCode == 32) {
                         this.pasteHTML('<b>test</b>');
                         return false;
                     }

                     return true;
                });
            }

このコードの問題は、this.editorにpasteHTMLメソッドがないことです。this(= htmlarea).eventからこのメソッドを使用するにはどうすればよいですか?

これはおそらくかなり初心者の質問ですが、私はどこを見ればよいのか本当にわかりません。

ありがとうございました

4

2 に答える 2

1

これが私がそれを行う方法です:

    $("#my-text-area").htmlarea({
        loaded: function () {
            $.myControl = { jhtmlarea: this };
        }
    });

次に、参照できます:

$($.myControl.jhtmlarea.editor.body).keypress(function (e) { });

これにより、iFrame の外側から HTML エリア オブジェクトへのハンドルも得られます。

于 2011-11-07T15:07:33.217 に答える
0

おそらく「this」の使用に混乱していると思います (私はそれが何を指しているのかを追跡するのに苦労しています!)。

テストとして、交換できますか

this.pasteHTML(...)

$("#txtCustomHtmlArea").pasteHTML(...)

または多分

$("#txtCustomHtmlArea").editor.pasteHTML(...)

それが役立つかどうかを確認しますか?

于 2011-08-17T08:08:27.100 に答える