Por ejemplo, al crear un ajax para leer la lista de mensajes, hay un botón de responder después de cada mensaje, la clase es "responder"; si usas $(".reply").click(function(){ //do something... }), presumiblemente el botón de responder en la lista cargada por ajax más adelante, el evento de clic será inválido. De hecho, la forma más fácil es escribir onclick="" directamente en la etiqueta, pero escribir esto es un poco bajo, y la mejor forma es asignar un evento de clic al nombre de la clase. Hay dos formas de resolver el problema de que los nodos de elementos añadidos dinámicamente en jquery no pueden desencadenar eventos, de la siguiente manera: Para una mejor presentación, supongamos que tienes código con la siguiente estructura bajo el cuerpo de una página determinada:
Método 1: Usar en vivo La función live() vincula uno o más gestores de eventos al elemento seleccionado y especifica qué funciones ejecutar cuando ocurren esos eventos. La función live() se aplica a la coincidencia de los elementos actuales y futuros del selector. Por ejemplo, elementos creados dinámicamente mediante scripts. La implementación es la siguiente:
Método 2: Uso en Puedes vincular un evento a su padre o cuerpo mediante el método on, de la siguiente manera:
Ahora puedes intentar ver si el problema se ha resuelto, espero que este artículo te pueda ayudar mucho.
El segundo que uso es para vincular el elemento de nivel padre...
|