jQuery click让我回到页面顶部。 但我想留在原地

我有一个简单的点击和显示,点击和隐藏按钮,但当我点击它时,页面锚定在页面的顶部。 反正有没有阻止这个? 那么当我点击按钮时,我会在浏览器中停留在同一个地方?

我的代码是……

$('#reportThis').hide(); $('#flagThis').click(function () { $('#reportThis').show("slow"); }); $('#submitFlag').click(function () { $('#reportThis').hide("slow"); }); 

试试这个:

 $('#reportThis').hide(); $('#flagThis').click(function (evt) { $('#reportThis').show("slow"); evt.preventDefault(); }); $('#submitFlag').click(function (evt) { $('#reportThis').hide("slow"); evt.preventDefault(); }); 

您可能将此点击绑定到具有默认操作的标记。 为了防止这种情况,您可以使用其他标签,例如

,或者您可以这样做:

 $('#flagThis').click(function (event) { $('#reportThis').show("slow"); event.preventDefault(); }); 

尝试在click函数中返回false

 $('#reportThis').hide(); $('#flagThis').click(function () { $('#reportThis').show("slow"); return false; }); $('#submitFlag').click(function () { $('#reportThis').hide("slow"); return false; }); 

更改超链接以指向不存在的锚点,如下所示:

 Flag 

或者,让处理程序返回false ,如下所示:

 $('#reportThis').hide(); $('#flagThis').click(function () { $('#reportThis').show("slow"); return false; }); $('#submitFlag').click(function () { $('#reportThis').hide("slow"); return false; }); 

如果您使用的是元素,请不要忘记设置type属性。

  

某些浏览器默认提交,这会将您带回页面的开头。

无论如何,这是我出错的地方,在这里什么都没看到,所以我想为未来的读者分享我的两分钱。