有谁知道为什么我的 preventDefault 代码不起作用? return false 返回正常,但据我所知,这并不是真正的“正确”方式?
if ($('.signup').length == 0) {
$('.star').on('click',function(e){
e.preventDefault();
var starElement = $(this);
var resourceId = starElement.parents('li').data('id');
updateFavoritesSpan( starElement, starElement.hasClass('starred') );
starElement.toggleClass('starred');
starElement.parents('li').toggleClass('fvtd');
});
// voting
$('.voting').on('click .up', function(e){
e.preventDefault();
sendVote($(this), 1);
});
$('.voting').on('click', '.down', function(e){
e.preventDefault();
sendVote($(this), -1);
});
}
最佳答案
return false;
同时执行 preventDefault
和 stopPropagation
。
preventDefault
停止元素上的“默认”操作,stopPropagation
停止事件冒泡到父元素。
我的猜测是,当您只执行 preventDefault
时,父级上仍有一个事件会被触发。
关于javascript - 为什么 preventDefault 不起作用但 return false 起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11368842/