1

リッチ テキスト エディター (RTE) と、ユーザーが特定のコード スニペットを RTE に導入できる側のパネルがあるインターフェイスを実装しようとしています。

私がしようとしているのは、プレーンテキストエリアではなくRTEでやりたいということだけです。

問題は、すべての RTE がテキストエリアを div や iframe などに置き換えることです。テキストエリアは同様selectStartに機能selectionEndし、カーソル位置の検出には使用できません。

私が使用できる API を介してそのような機能を公開する RTE はありますか?

誰かがどこかのサイトでこのようなものを見た場合は、それを教えてください. たぶん、ctrl+u で、彼らが何を使用したかを把握できます。

解決済み:Magus の回答に感謝します。TinyMCE エディターを使用できます。選択と選択の概念があります。ブックマーク。結果を達成する方法は次のとおりです。

tinyMCE.init({
    mode : "exact",
    elements: "notifierBody",           
});
$('.insertBtn').click(function(){
    // Stores a bookmark of the current selection
    var bm = tinyMCE.activeEditor.selection.getBookmark();
    // Restore the selection bookmark. In effect, takes the control that the bookmark
    tinyMCE.activeEditor.selection.moveToBookmark(bm);
    //Add new content right in the middle where your cursor/selection was
    tinyMCE.activeEditor.selection.setContent('Some new content');  
});
4

1 に答える 1

0

TinyMCEは、現在の選択に対していくつかの API を取得します。ドキュメントを見てください:http://www.tinymce.com/wiki.php/API3:class.tinymce.dom.Selection

ちょっとした例:

tinyMce.activeEditor.selection.getContent({format : 'raw'}); // Get the selected text
tinyMce.activeEditor.selection.getStart(); // Selection start
tinyMce.activeEditor.selection.getEnd(); // Selection end

多くのRTEがこの機能を提供していると思います。APIドキュメントを見るだけです。

于 2012-11-15T13:23:13.820 に答える