2012-07-10 13 views
6

私は、テキストエリアの横にあるエモーティコンのdivをトグルするtinymceのカスタムボタンを持っています。tinymceがキャレット位置を失う

onclick : function() { 
    ed.focus(); 
    $('#my-input').toggleClass('with-emoticons'); 
    $('#emoticons').toggleClass('emo-visible'); 
} 

ボタンをクリックすると、エモーティコンのdivが表示されますが、キャレットはテキストの最後から始まります。

カスタムボタンをクリックしてキャレットの位置を保持するにはどうすればよいですか?ブックマークを使用する必要があるよう

+1

+1良い質問 – Thariama

答えて

6

が見える

onclick : function() { 
    ed.focus(); 

    var bookmark = ed.selection.getBookmark(); 

    $('#my-input').toggleClass('with-emoticons'); 
    $('#emoticons').toggleClass('emo-visible'); 

    ed.selection.moveToBookmark(bookmark); 
} 

ここで使用したブックマークタイプは、エディタ、HTMLに非可視スパンを表しhtmlのブックマークです。 getBookmark関数は、HTML以外のブックマークも生成できます。このためにed.selection.getBookmark(2, true);と呼ぶことができます。tinymceブックマークの詳細についてはdocsをご覧ください。

+1

ありがとうございました!それはうまく動作します! – heal81

関連する問題