Voy a tener el escenario de parejas aquí. Por favor me ayude ajQuery: Evento que burbujea y cómo "clic", "live.click", "stopPropagation" y "return false" funcionan juntos
Aquí es el caso base: http://jsfiddle.net/2zsLy/9/
Cuando hago clic Click Me
, tanto cuadro de alerta y Another Paragraph
salir. Esto es esperado ya que el evento click hace burbujas en el contenedor principal, que es body
. Ahora empiezan mis preguntas
1) http://jsfiddle.net/2zsLy/10/
¿Cómo es que la adición de return false
a mi live.click
no impide que el evento click de burbujear. En el ejemplo, el live.click burbujea y activa el cuadro de alerta. Pensé que la documentación decía que devolver falso detendrá el evento en vivo desde la burbuja.
2) http://jsfiddle.net/2zsLy/11/
Ahora, puedo cambiar el evento click en body
-live.click
y se soluciona el problema -> el evento click no burbujea hacia arriba (por lo tanto, no se muestra ningún cuadro de alerta). ¿Por qué no funciona live.click
y click
?
3) http://jsfiddle.net/2zsLy/13/
creo que la documentación dice claramente que llamar event.stopPropagation()
no detendrá el burbujeo que se produzcan, así que acabo de hacer. Uso event.stopPropagation()
esperando que todavía active mi cuadro de alerta, pero no es así. ¿Por qué?
NOTA: para la respuesta a las dos primeras preguntas, vea justkt
respuestas. Para la respuesta a la última pregunta, vea Squeegy
respuesta y su respuesta.
No creo que respondas mi pregunta en absoluto. Solo cito la documentación, ninguna que yo no sepa. Para cada escena, incluyo jsfiddle para demostrar mi pregunta. Por favor refiérase a ellos. –
@Harry - He editado mi respuesta para abordar cada ejemplo de jsfiddle. – justkt
Muchas gracias. Tu respuesta en '1' y' 2' me da mucha ayuda. Sin embargo, para '3', no quiere decir que está equivocado, pero aquí está la cita del sitio jQuery' Para evitar que otros manejadores se ejecuten después de un enlace usando .live(), el manejador debe devolver falso. Llamar a .stopPropagation() no logrará esto. "Desde arriba,' Squeegy' hace una respuesta y algunos comentarios sobre '3', ¿está de acuerdo con su respuesta para' 3', justkt? –