Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 15235|Respuesta: 1

[Jquery] Hay dos formas de resolver el problema de que los nodos de elemento añadidos dinámicamente en jquery no pueden desencadenar eventos

[Copiar enlace]
Publicado en 28/6/2016 12:43:24 | | |
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...





Anterior:los objetos Json de Js se intercambian con cadenas Json
Próximo:el número js se pasa al método, y el valor se suma por uno o menos uno
Publicado en 8/7/2016 14:34:49 |
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com