我的preventDefault
事件不起作用,但不能保证原因。我四处搜寻,但没有意识到问题在哪里。如果我的情况有所回答,请原谅!这是我的代码:preventDefault不适用于ajax请求
var $vote_btn_up = $('.vote_comment_up_' + <?= $model->id ?>);
var $vote_btn_down = $('.vote_comment_down_' + <?= $model->id ?>);
$vote_btn_up.on('click', function (evt) {
evt.preventDefault();
var $commentId = 0;
var $postId = 0;
if($vote_btn_up.data('comment_id') != 0){
var $commentId = $vote_btn_up.data('comment_id');
}
if($vote_btn_up.data('post_id') != 0){
var $postId = $vote_btn_up.data('post_id');
}
var $flag = $vote_btn_up.data('flag');
var $userId = $vote_btn_up.data('user_id');
$.ajax({
method : 'post',
url : '/admin/site/like-dislike',
data : {flag : $flag, comment_id : $commentId, user_id : $userId, post_id : $postId},
success : function(data){
console.log(data);
if($flag == 1){
$('.thumb-up_<?= $model->id ?>').text(data);
}else if($flag == 2){
$('.thumb-down_<?= $model->id ?>').text(data);
}
}
});
});
而默认会是什么?我们在这里讨论的是什么元素 - 实际的按钮?链接?还有别的吗?请显示一些与此相符的HTML。 – CBroe
你试过js'event.stopPropagation()'或jQuery的'event.stopImmediatePropagation()'吗? – Kaddath
只需返回false:'$ btn.on(“click”,function(){.... return false;}' –