我在网页上有一个链接。当用户单击它时,页面上的小部件应该更新。但是,我正在做一些事情,因为默认功能(导航到其他页面)在事件触发之前发生。
链接如下所示:
<a href="store/cart/" class="update-cart">Update Cart</a>
jQuery如下所示:
$('.update-cart').click(function(e) {
e.stopPropagation();
updateCartWidget();
});
问题是什么?
Answers:
e.preventDefault();
来自https://developer.mozilla.org/zh-CN/docs/Web/API/event.preventDefault
如果可以取消事件,则将其取消,而不停止事件的进一步传播。
stopPropagation和preventDefault困惑
$('.update-cart').click(function(e) {
updateCartWidget();
e.stopPropagation();
e.preventDefault();
});
$('.update-cart').click(function() {
updateCartWidget();
return false;
});
以下方法可以实现完全相同的效果。
stopPropagation()和preventDefault()?
你要 e.preventDefault()防止发生默认功能。
或return false从您的方法。
preventDefault阻止默认功能并stopPropagation防止事件冒泡到容器元素。