[英]preventDefault doesn't work on ajax request
我的preventDefault
事件无法正常工作,但无法理解原因。 我在四处搜寻,但不知道问题出在哪里。 如果我的案件在某处有答复,请原谅! 这是我的代码:
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 );
}
}
});
});
您要防止什么行为? evt.preventDefault()
如果您有一个表单并且该按钮是一个提交按钮,并且您希望阻止提交表单,则可以使用。 但是这些是我的许多假设...
var $vote_btn_up = $('.vote_comment_up'); $vote_btn_up.on('click', function (evt) { evt.preventDefault(); console.log("log"); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form action="http://google.de"> <button type="submit" class="vote_comment_up"> Button </button> </form>
我认为您创建了多个按钮:
var $vote_btn_up = $('.vote_comment_up_' + <?= $model->id ?>);
如果是的话,那么下一个优先考虑...所以尝试将它们放在例如数组中,然后需要为每个按钮设置处理程序,例如:
for(var i=0;i<=X;i++){
$vote_btn_up[i].on('click',function(){
});
});
要么:
$('.vote_comment_up_' + <?= $model->id ?>).each(function(){
$(this).on('click',function(){
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.