Foros del Web » Programando para Internet » Javascript »

script deja de funcionar con editor tinymce

Estas en el tema de script deja de funcionar con editor tinymce en el foro de Javascript en Foros del Web. Hola compañero aca con un problema, lo que pasa es que tengo un script de conteo de palabras, que funciona correctamente pero cuando uso el ...
  #1 (permalink)  
Antiguo 11/12/2018, 16:41
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 7 años, 6 meses
Puntos: 4
script deja de funcionar con editor tinymce

Hola compañero aca con un problema, lo que pasa es que tengo un script de conteo de palabras, que funciona correctamente pero cuando uso el editor tinymce deja de funcionar, necesito saber como hacerlo funcionar, aca el codigo

Código Javascript:
Ver original
  1. counter = function() {
  2.     var value = $('#text').val();
  3.  
  4.     if (value.length == 0) {
  5.         $('#wordCount').html(0);
  6.         $('#totalChars').html(0);
  7.         $('#charCount').html(0);
  8.         $('#charCountNoSpace').html(0);
  9.         return;
  10.     }
  11.  
  12.     var regex = /\s+/gi;
  13.     var wordCount = value.trim().replace(regex, ' ').split(' ').length;
  14.     var totalChars = value.length;
  15.     var charCount = value.trim().length;
  16.     var charCountNoSpace = value.replace(regex, '').length;
  17.  
  18.     $('#wordCount').html(wordCount);
  19.     $('#totalChars').html(totalChars);
  20.     $('#charCount').html(charCount);
  21.     $('#charCountNoSpace').html(charCountNoSpace);
  22. };
  23.  
  24. $(document).ready(function() {
  25.     $('#count').click(counter);
  26.     $('#text').change(counter);
  27.     $('#text').keydown(counter);
  28.     $('#text').keypress(counter);
  29.     $('#text').keyup(counter);
  30.     $('#text').blur(counter);
  31.     $('#text').focus(counter);
  32. });

Editor Tinymce
Código Javascript:
Ver original
  1. tinymce.init({
  2.         selector: "#contenido"
  3.     });

espero alguien me pueda dar una mano, muchas gracias...
  #2 (permalink)  
Antiguo 11/12/2018, 23:00
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 231
Antigüedad: 8 años, 7 meses
Puntos: 18
Respuesta: script deja de funcionar con editor tinymce

Mira esto, a ver si te sirve:

https://stackoverflow.com/questions/...rds-in-tinymce
__________________
CHOOO COOO LAAA TEEEEEEEEE
  #3 (permalink)  
Antiguo 14/12/2018, 07:48
Avatar de dAvidcA  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/dev/
Mensajes: 73
Antigüedad: 9 años, 7 meses
Puntos: 7
Respuesta: script deja de funcionar con editor tinymce

Hola stevens82,

Los eventos (keydown, keypress, keyup...etc) en el editor tinymce se asocian de manera diferente ya que el textarea solo es utilizado para que tinymce 'pinte' su editor.

Lo correcto sería que tu función counter recibiera por parámetro el texto a realizar el conteo, así:

Código Javascript:
Ver original
  1. counter = function(value) {
  2.     if (value.length == 0) {
  3.         $('#wordCount').html(0);
  4.         $('#totalChars').html(0);
  5.         $('#charCount').html(0);
  6.         $('#charCountNoSpace').html(0);
  7.         return;
  8.     }
  9.  
  10.     var regex = /\s+/gi;
  11.     var wordCount = value.trim().replace(regex, ' ').split(' ').length;
  12.     var totalChars = value.length;
  13.     var charCount = value.trim().length;
  14.     var charCountNoSpace = value.replace(regex, '').length;
  15.  
  16.     $('#wordCount').html(wordCount);
  17.     $('#totalChars').html(totalChars);
  18.     $('#charCount').html(charCount);
  19.     $('#charCountNoSpace').html(charCountNoSpace);
  20. };


Así se asocian los eventos (keydown, keypress, keyup...etc) con tinymce:

Código Javascript:
Ver original
  1. tinymce.init({
  2.     selector: "#text",
  3.     setup: function(ed) {
  4.         ed.on('click', function(e) { counter(ed.getContent()); });
  5.         ed.on('change', function(e) { counter(ed.getContent()); });
  6.         ed.on('keydown', function(e) { counter(ed.getContent()); });
  7.         ed.on('keypress', function(e) { counter(ed.getContent()); });
  8.         ed.on('keyup', function(e) { counter(ed.getContent()); });
  9.         ed.on('blur', function(e) { counter(ed.getContent()); });
  10.         ed.on('focus', function(e) { counter(ed.getContent()); });
  11.     }
  12. });

Un ejemplo funcional de tu código: http://jsfiddle.net/dAvidcA/xpvt214o/999109/

Saludos.
  #4 (permalink)  
Antiguo 19/12/2018, 08:05
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 7 años, 6 meses
Puntos: 4
Respuesta: script deja de funcionar con editor tinymce

Gracias por sus respuesta funciono casi bien

Código Javascript:
Ver original
  1. var regex = /\s+/gi;
  2. value = value.trim().replace(/(<([^>]+)>)/gi, '').replace(regex, ' ');
  3. value = value.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
  4. wordCount = value.split(' ').length;

Pero sucede que cuando agrego el simbolo > o < me aumenta en demasia los caracteres, ejemplo: la palabra hola me muetsra 4 caracteres al agregarle <hola me pone 8 y al escribir <hola> cuenta 12 alguna forma de solucionar esto, gracias de antemano.



La zona horaria es GMT -6. Ahora son las 14:25.