Tengo un enlace en una página web. Cuando un usuario hace clic en él, se debe actualizar un widget en la página. Sin embargo, estoy haciendo algo, porque la funcionalidad predeterminada (navegar a una página diferente) ocurre antes de que se active el evento.
Así es como se ve el enlace:
<a href="store/cart/" class="update-cart">Update Cart</a>
Así es como se ve jQuery:
$('.update-cart').click(function(e) {
e.stopPropagation();
updateCartWidget();
});
¿Cuál es el problema?
javascript
jquery
events
click
jquery-events
smartcaveman
fuente
fuente

Respuestas:
de https://developer.mozilla.org/en-US/docs/Web/API/event.preventDefault
fuente
stopPropagationypreventDefaultconfundido$('.update-cart').click(function(e) { updateCartWidget(); e.stopPropagation(); e.preventDefault(); }); $('.update-cart').click(function() { updateCartWidget(); return false; });Los siguientes métodos logran exactamente lo mismo.
fuente
stopPropagation()ypreventDefault()?Quiere
e.preventDefault()evitar que se produzca la funcionalidad predeterminada.O tener
return falsede tu método.preventDefaultevita la funcionalidad predeterminada ystopPropagationevita que el evento se propague a los elementos del contenedor.fuente
Puedes usar en
e.preventDefault();lugar dee.stopPropagation();fuente
Este código elimina todos los oyentes de eventos
var old_element=document.getElementsByClassName(".update-cart"); var new_element = old_element.cloneNode(true); old_element.parentNode.replaceChild(new_element, old_element);fuente