停止页面跳到顶部

时间:2012-11-14 20:36:58

标签: php jquery

我有这个脚本来附加一组输入字段。它工作正常,除了我的问题,每次我点击按钮添加在页面中间,页面跳转到页面的顶部。怎么能阻止它跳到顶端?对不起,这是追加脚本:

var count = 0;
$(function(){
$('a#add_field').click(function(){
count += 1;

$('#activation').append(
             '<div id="features_remove" style="float:left; width: 11%; margin-left:115px;">'
            +'<label>features remove</label>'
            +'<select id="features_remove' + count + '" name=features_remove' + count + '" class="input-medium" >'
                +'<option value="" selected="&nbsp;" >&nbsp;</option>'
                +'<option value="MPP" >MPP</option>'
                +'<option value="50 Data" >50 Data</option>'
                +'<option value="Navigation" >Navigation</option>'
                +'<option value="Insurance" >Insurance</option>'
                +'<option value="Road Side Assistance" >Road Side Assistance</option>'
            +'</select>'  
            +'</div>'
             ); 
      });       
});

是的,这是一个按钮

 <a href="#" class="btn btn-mini btn-danger" id="add_field"><span>Add In-Store Activation</span></a>

3 个答案:

答案 0 :(得分:5)

由于没有发布代码,我只是假设它是因为你的按钮看起来像这样:

<a href="#" id='myButton'>Button Text</a>

#告诉页面跳转到该锚点。由于没有定义锚,它会跳到顶部。

请改为尝试:

<a href="javascript:;" id='myButton'>Button Text</a>

或在您的javascript代码中:

$("#myButton").click(function(e){
    e.preventDefault();
});

答案 1 :(得分:3)

您应该发布一些代码,但根据您所写的内容,我假设您的“按钮”实际上是与href="#"的链接。

为了停止跳转,请给它一个id,例如id="mybutton"。然后,以下jQuery应该做的魔术:

$('#mybutton').on('click',function(e){
    if (e.preventDefault)
        e.preventDefault();
    else
        e.stop();
})

答案 2 :(得分:1)

用于添加字段的“按钮”实际上是<a href="#">链接吗?

jQuery可能会将您移动到页面顶部,因为您可能使用的哈希来防止链接的默认行为。但jQuery(或其中的一些插件)可能正在使用散列作为内联锚。 IE浏览器。 href =“#listTop”会在页面上查找id =“listTop”元素,并将屏幕顶部滚动到该元素的顶部。 href =“#”会有效滚动到屏幕顶部。

请记住从jQuery click事件处理程序返回false或将参数e添加到事件处理程序中并调用e.preventDefault();在方法体中。

 <a href="" class="addOne">add row</a>

$('addOne').click(function(e){
  e.preventDefault();
  // the rest of your logic
});

这是我能提供的最佳信息。您可以通过提供一些代码和更详细的情况描述来帮助自己获得帮助。

相关问题