2

ショートコードのより良い「エディター内」プレビューを作成しようとしています。

そのため、次のように editor-styles.css を介してスタイルを設定できる CSS クラスの div でそれらをラップしています。

    if (customid != 0 && customid == 'divider_bar_soft_up' ){
        tagtext = "<div class=\"my_editor_style mceItemNoResize\">["+ customid + "/]</div>";
    }

エディターに転送されたときに mceItemNoResize クラスが要素にアタッチされていないことを除いて、これは正常に機能します。エディタ内のソース コードは次のようになります。

<div class="my_editor_style">[divider_bar_soft_up/]</div>

私の質問は、「カスタム css クラスまたはスタイルをこの要素に適用して、(移動または削除以外で) 不注意に編集できないようにするにはどうすればよいですか?

ユーザーが誤ってラッパー div 内にカーソルを挿入して入力を開始するのを防ごうとしています。

4

1 に答える 1

0

うーん、ラッパーの div と でクリック イベントをキャッチできますreturn false

: 指定した要素がクリックされた場合にクリックが発生するかどうかを確認し、その要素の後にカーソルを移動します。その div 内にさらに html 要素がある場合は、追加のチェックを行う必要があることに注意してください。

ed.on('init', function(e){
    ed.on('click', function(evt){
        if (evt.target == 'DIV' && evt.target.className == 'my_editor_style')
        {
            // remove selection
            ed.selection.select(evt.target);
            // collapse selection range to end
            ed.selection.collapse(0);
        }
    });
});
于 2013-04-12T08:53:19.503 に答える