6

テキストエリアの横にある絵文字の div を切り替える tinymce カスタム ボタンがあります。

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

ボタンをクリックすると、絵文字の div が表示されますが、キャレットはテキストの最後から最初に移動します。

カスタムボタンをクリックしている間、キャレットの位置を保持するにはどうすればよいですか?

4

1 に答える 1

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を参照してください。

于 2012-07-10T08:16:30.657 に答える