2010-12-07 20 views
32

¿Hay algún uso para devolver los valores de los controladores .click() y .change() (como return true o return false)?Los manejadores de eventos de Jquery devuelven los valores

+1

¿Qué quieres decir? Muéstrenos un ejemplo de cómo le gustaría usar ese resultado (el valor de retorno). –

+1

Simplemente curioso ya que algunos devuelven a los otros falsos y no pude encontrar nada en los documentos. – Buzzzz

Respuesta

41

return false; detendrá el evento de burbujeo Y suprime la acción predeterminada.

En otras palabras, volviendo falso es análoga a estas dos líneas

event.stopPropagation(); 
event.preventDefault(); 

para los eventos que la burbuja y son cancelable, por lo menos.

20

return false en un manejador da como resultado event.stopPropagation() (sólo para controladores de eventos de jQuery, como Tim sugirió abajo en los comentarios) y event.preventDefault() ser llamado automáticamente por jQuery.

return true es lo mismo que devolver nada (jQuery no toma ninguna medida).

+3

En ese caso, jQuery se está tomando libertades aquí: para los manejadores de eventos no jQuery, 'return false' solo previene la acción predeterminada y no detiene el evento de burbujeo. –

+0

@Tim Down: es bueno saberlo. Añadiré eso a mi respuesta. – jwueller

+0

@TimDown Para aclarar, por "manejadores de eventos no jQuery", ¿te refieres a los manejadores que estaban conectados por otros medios aparte de los métodos jQuery (.on o .live/.bind/.delegate), como addEventListener? –

Cuestiones relacionadas