2011-06-27 39 views
16

Tengo una fila de la tabla con el evento ONCLICK (que alterna datos adicionales a continuación). Dentro de una de las celdas de la fila, tengo un botón (cuando hace clic está realizando una acción AJAX). Cuando hago clic en el botón, el evento onclick de la fila también se activa y lo que sucede es que los datos adicionales aparecen antes de que se complete la llamada AJAX (lo cual es un mal comportamiento para mí). ¿Alguna idea de cómo puedo resolver esto elegantemente? (sin identificarlo y codificarlo en el código onclick de la fila) GraciasImpedir que la fila de la tabla haga clic en el evento para disparar al hacer clic en el botón dentro de la fila

Respuesta

26

Agregue event.stopPropagation(); a su controlador de botones click. Para obtener más información, eche un vistazo a here y here.

+2

me dirigió a la solución exacta. ¡¡Gracias!! – Guy

+0

enlace directo para los perezosos! - Funcionó como un amuleto para deshabilitar el controlador de eventos de filas de tabla de la activación, pero aún permite que se haga clic en un enlace en la tabla de datos. - https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Examples#Example_5:_Event_Propagation –

0

Si no le gusta la solución javascript, en muchos casos, una solución CSS es posible también:

style="pointer-events: none;" 

Eso será suprimir el evento onclick <tr>.

Sin embargo, en algunos casos todavía tenía problemas en los que no parecía funcionar. En la mayoría de los casos solo uso el estilo anterior.

Cuestiones relacionadas