Saltar al contenido

Detectar cambios en el contenido de los elementos con jQuery

Haz todo lo posible por interpretar el código bien previamente a adaptarlo a tu trabajo si tdeseas aportar algo puedes compartirlo con nosotros.

Solución:

Sé que esta publicación tiene un año, pero me gustaría brindar un enfoque de solución diferente para aquellos que tienen un problema similar:

  1. El evento de cambio de jQuery se usa solo en los campos de entrada del usuario porque si se manipula algo más (por ejemplo, un div), esa manipulación proviene del código. Por lo tanto, encuentre dónde ocurre la manipulación y luego agregue lo que necesite allí.

  2. Pero si eso no es posible por algún motivo (está utilizando un complemento complicado o no puede encontrar ninguna posibilidad de “devolución de llamada”), entonces el enfoque de jQuery que sugiero es:

    un. Para una manipulación sencilla del DOM, utilice el encadenamiento y recorrido de jQuery, $("#content").html('something').end().find(whatever)....

    B. Si desea hacer algo más, emplee jQuery’s bind con evento personalizado y triggerHandler

    $("#content").html('something').triggerHandler('customAction');
    
    $('#content').unbind().bind('customAction', function(event, data) 
       //Custom-action
    );
    

Aquí hay un enlace al controlador de activación de jQuery: http://api.jquery.com/triggerHandler/

Estos son eventos de mutación.

No he usado API de eventos de mutación en jQuery, pero una búsqueda rápida me llevó a este proyecto en GitHub. Desconozco la madurez del proyecto.

El navegador no disparará el evento onchange para

elementos.

Creo que el razonamiento detrás de esto es que estos elementos no cambiarán a menos que sean modificados por javascript. Si ya tiene que modificar el elemento usted mismo (en lugar de que lo haga el usuario), entonces puede simplemente llamar al código adjunto apropiado al mismo tiempo que modifica el elemento, así:

 $("#content").html('something').each(function()  );

También puede activar manualmente un evento como este:

 $("#content").html('something').change();

Si ninguna de estas soluciones funciona para su situación, ¿podría brindar más información sobre lo que está tratando de lograr específicamente?

Recuerda que puedes permitirte añadir una puntuación certera si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *