2012-07-10 14 views
6

Tengo un botón personalizado de tinymce, que alterna un div de emoticones junto a un área de texto.tinymce pierde posición de interpolación

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

Al hacer clic en el botón, el div emoticonos ha revelado, pero el cursor va desde el final hasta el principio de mi texto.

¿Cómo puedo conservar la posición de los cuidados mientras hago clic en el botón personalizado?

+1

+1 buena pregunta – Thariama

Respuesta

6

Parece que es necesario utilizar un marcador

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

    var bookmark = ed.selection.getBookmark(); 

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

    ed.selection.moveToBookmark(bookmark); 
} 

El tipo de marcador usado aquí es un marcador HTML que representa un lapso no visible en el editor de HTML. La función getBookmark también puede generar marcadores que no sean html. Para esto puede llamar al ed.selection.getBookmark(2, true); Para obtener más información sobre los marcadores de tinymce, consulte el docs.

+1

¡Gracias! ¡Funciona bien! – heal81