finalmente conseguí que esto funcione para 1) la especificación, 2) arrastrar y soltar, 3) Ctrl-V y 4) Pegar en el menú contextual de un ratón clic, pero tenía que colocar la pasta y colocar los manipuladores al documento (donde 'taValue' es la clase de las áreas de texto que estoy tratando de controlar):
$(document).on("paste drop", '.taValue', function (e) {
myHandler.call(e.target, e);
});
el evento keyup en el área de texto ya ha trabajado. El siguiente problema es que los eventos de pegar y soltar se disparan ANTES de que el texto en el área de texto realmente cambie. En mi caso, quería comparar el nuevo texto con el texto original. Recurrí a un setTimeout:
function myHandler(e) {
if (e && (e.type === "drop" || e.type === "paste")) {
var me = this;
setTimeout(function() { myHandler.call(me) }, 200);
}... [more code to do the comparison]
No me gusta usar los tiempos de espera para este tipo de cosas, pero funciona (cuando trataba de un intervalo de 100 ms, no lo hizo).
Este método funciona si presiona Ctrl + V para pegar. Pero no funciona si haces clic con el botón derecho del mouse y seleccionas Pegar. – JohnnyLinTW
Encontré si el cambio a $ ("# txtcomplaint"). Bind ('pegar', nulo, función (e) ... y funciona bien para Ctrl + V y pegar el mouse. – JohnnyLinTW