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属性。
某些浏览器默认提交,这会将您带回页面的开头。
无论如何,这是我出错的地方,在这里什么都没看到,所以我想为未来的读者分享我的两分钱。