我有一个关于jQuery的一般问题.
我创建了几个jQuery按钮,但我遇到的问题是当你向下滚动页面的一半而你按下按钮时,页面跳回到顶部,而不是停留在按钮位置的中间?
你怎么能阻止这种情况发生,因为这对用户来说是令人沮丧的?
这有什么特别的原因吗?
$(".comment-here").click(function() { $(".comment-form").slideToggle('slow'); }); $(".main-btn.orange").click(function(){ $(".comment-form").slideUp('slow'); });
解决方法
您没有阻止默认事件.由于您单击了锚标记,因此#的默认事件只是跳到文档的顶部.
为了防止这种情况发生:
将事件传递给函数,并使用preventDefault();
$(".comment-here").click(function(e){ e.preventDefault(); $(".comment-form").slideToggle('slow'); }) $(".main-btn.orange").click(function(e){ e.preventDefault(); $(".comment-form").slideUp('slow'); })
你也可以使用return false;相反,它比防止默认事件更进一步,它将停止冒泡到父元素的事件.