jquery remove()函数导致跳转到页面顶部

时间:2012-08-24 08:30:20

标签: jquery

$("#txt_catId").change(function(){

    var catId = $('#txt_catId').val();

    $(".news-row").remove();
    $("#txt_news_id").remove();

    $.ajax({
          type: "POST",
          url: 'urlExample',
          data : {cat_id : catId},
          success: function(data) {
            $('#txt_catId').parent().append(data);
          },

          statusCode: {
            404: function() {
              alert("page not found");
            }
          }


        });

});

此代码的作用是:当用户选择某个类别时,该类别的新闻列表将显示为选择框。但关键是每次我选择一个类别时,它总是跳到页面的顶部。我怎样才能防止这种情况发生?

1 个答案:

答案 0 :(得分:1)

听起来您正在使用href="#"的链接作为选择类别的方法。激活链接会将您带到页面顶部,因为这是空书签的含义。

在事件处理程序中使用preventDefault来阻止链接被激活:

$("#txt_catId").change(function(e){
  e.preventDefault();
  ...