1

簡単な投票機能を自分のWebサイトに追加しました。何らかの理由で、ajax呼び出しはウィンドウスクロールをページの上部にリセットします。ユーザーが投稿に投票するたびに上からスクロールを開始する必要があるため、これは明らかにユーザーにとって非常に迷惑です。

なぜそれが起こっているのか理解できないようです。助言がありますか?

function vote_up(post_id)
{
  //alert("Up: " + post_id);
  $.ajax({
  url: '<?php echo URL::base(); ?>voting_ajax.php?vote_up&post_id=' + post_id,
  dataType: 'json',
  success: function(data) {
      if(data.result == 1)
      {
        $('#up_count_'+post_id).html(data.vote_up);
        $('#down_count_'+post_id).html(data.vote_down);
      }
      if(data.msg != '')
      {
    $.msgbox(data.msg);
      }
    }
  });

}
4

2 に答える 2

4

タグに空の「href」またはハッシュ記号がありますか?

<a href="#" onclick="action();">vote me up</a>

その場合、ハッシュ記号は上にスクロールして戻るものです。代わりに使用する必要があります

<a href="javascript:void(0);" onclick="action();">vote me up</a>

または、デフォルトのアクションとしてfalseを返すイベントハンドラーを用意します。

于 2012-10-02T17:32:53.313 に答える
2

@lkrupsが言っていることを実行したり、関数の最後にevent.preventDefault();追加してもreturn false; 機能するはずです。

于 2012-10-02T17:34:28.580 に答える