jQuery: el contador de char no funciona con el evento de pegar

Escribí un contador de caracteres jQuery, funciona cuando escribo, pero no cuando el text está pegado. La function se ejecuta al pegar, pero el recuento no cambia. No estoy seguro si la function val() es correcta o realmente está sincronizada con DOM. ¿Algunas ideas?

  counter = function () { $j("strong#status-field-char-counter").text($j("#Panel1messagesmessage").val().length); alert('event'); }; $j("textarea").keyup(counter); $j("textarea").bind('paste', counter); $j("#Panel1messagesmessage").bind('copy', counter); $j("#Panel1messagesmessage").bind('delete', counter); 

Los contenidos de textarea se pueden cambiar de varias maneras, en lugar de intentar capturarlos todos, simplemente instale una rutina que verifique el contenido cada 0.5 segundos, como

 $(function() { window.charCount = 0; setInterval(function() { var c = $("textarea").val().length; if(c != window.charCount) { window.charCount = c; $("span").html(window.charCount); } }, 500); }) 

Usualmente utilizo el keyup en combinación con el change

El evento de change se dispara cuando el textbox pierde el foco, pero solo si el valor fue modificado desde que recibió el foco.

Juego rápido sobre:

  $("#textarea").change(function() { $("#status-field-char-counter").text($("#textarea").val().length); }).keyup(function() { $("#status-field-char-counter").text($("#textarea").val().length); }); 

HTML

  <p id="status-field-char-counter">here</p> <input id="textarea" type="text" />