1
<script type="text/javascript">
function vote(element, val){
prev_vote=0;
vote = 100
can_vote = element.find('.vote-permission').attr('value')
alert(can_vote);
if (can_vote=='yes'){
if (prev_vote==0){
alert("previous vote is 0");
// user has not cast vote for image before
vote_score = vote + val;
element.find('.vote-count-post').text(vote_score);
}
else if (prev_vote != 0){
// user has cast a vote before
if (prev_vote == 1 && val == -1){
vote_score = vote - 2;
element.find('.vote-count-post').text(vote_score);
}
else if (prev_vote == -1 && val == 1){
vote_score = vote + 2;
element.find('.vote-count-post').text(vote_score);
}
}
}
};
$(document).on('click', '.votedown', function(e){
alert($(e.target).prev().text());
vote($(e.target).parent(), -1);
alert('vote down is done');
});
$(document).on('click', '.voteup', function(e){
$(e.target).css('background-position', '0 -222px');
vote($(e.target).parent(), 1);
alert('vote up is done');
});
</script>
上述javascript函数是我正在实施的向上和向下投票系统的脚手架。当第一次对upvote或downvote按钮进行点击时,函数按照预期的方式使用vote()调用,但在第二次点击时,vote()函数被说成没有被定义。任何想法为什么?javascript函数未在第二次调用时定义
谢谢你。这几乎解决了它。但只是说。范围规则相当不友善。 – cobie