Cuando quiero evitar que otros controladores de eventos se ejecuten después de que se active un determinado evento, puedo usar una de dos técnicas. Usaré jQuery en los ejemplos, pero esto también se aplica a plain-JS:
1) event.preventDefault()
$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
2) return false
$('a').click(function () {
// custom handling here
return false;
});
¿Hay alguna diferencia significativa entre esos dos métodos para detener la propagación de eventos?
Para mí, return false;
es más simple, más corto y probablemente menos propenso a errores que ejecutar un método. Con el método, debe recordar la carcasa correcta, paréntesis, etc.
Además, tengo que definir el primer parámetro en la devolución de llamada para poder llamar al método. Tal vez, ¿hay algunas razones por las que debería evitar hacerlo así y usarlo preventDefault
en su lugar? ¿Cuál es la mejor manera?
preventDefault
qué no evitar que otros lanzadores de ejecución. Para esostopImmediatePropagation
es eso .