我使用Twitter的引导顶栏。页面向下滚动点击HREF =时#SomeDivName
当我在一些导航HREF
href=#SomeDivName
点击一样,当你按下导航在这个页面:
http://twitter.github.com/bootstrap/examples/fluid.html#contact
页面滚动下来一点。
我想一下, 后,相关板块将出现,但我不想让页面向下滚动。
我使用Twitter的引导顶栏。页面向下滚动点击HREF =时#SomeDivName
当我在一些导航HREF
href=#SomeDivName
点击一样,当你按下导航在这个页面:
http://twitter.github.com/bootstrap/examples/fluid.html#contact
页面滚动下来一点。
我想一下, 后,相关板块将出现,但我不想让页面向下滚动。
$('a[href="#SomeDiveName"]').on('click', false);
当你锚标记上单击设置为#SomeDiveName
href属性这将返回false。这将阻止元素,在这种情况下是要滚动到其href属性是指元素的默认行为。
如果你有一组这些链接的话,我会建议增加一类,以确定他们,你可以一次全部选中:
$('.stop-this-link').on('click', false);
这将阻止默认行为与所有元素stop-this-link
类,每当元素被点击。按类别选择比属性选择快得多。按属性搜索时,必须检查DOM中的每个元素。
请注意,在jQuery事件处理函数中返回false
与调用:event.preventDefault()
和event.stopPropagation()
相同。
有关这些功能的详细信息请看这里:
event.preventDefault()
:http://api.jquery.com/event.preventdefaultevent.stopPropagation()
:http://api.jquery.com/event.stoppropagation你能不能传递'FALSE'到'.on'这样呢?不应该是'.on('click',function(){return false;});'? – 2012-02-10 21:41:30
我不记得是谁,但有人对SO向我展示了大约一个星期前。 'function(){return false'}'做什么?它返回'false'。那么'false'也会返回'false' :)。如果你想要做的只是防止默认的行为或事件冒泡,那么简单的代码就可以简化代码。 – Jasper 2012-02-10 21:42:33
但是'function(){return false'}'是'function',其中'false'是'boolean'。我想jQuery非常聪明,想出来。 – 2012-02-10 21:44:20
Jasper的答案是正确的,但如果你绑定其他的东西,你可能会得到一些怪事后来。我倾向于使用这样的:
$('.stop-this-link').on('click', function(e){ e.preventDefault() });
实质上是一样的,但重要的是它不会停止的事件了DOM的传播,在稍微更详细的成本。
代替使用<a href="#target">
使用<a data-target="#target">
并取出href属性
这在我的结尾没有奏效。想知道是否有任何其他更改,我必须做,才能获得所需的功能 – adi 2015-11-11 05:45:37
谢谢。它在我的代码上工作。 – 2017-06-21 05:06:04
'haref =#SomeDiveName'?你的意思是''?我不熟悉的引导程序的顶栏,所以我可能失去了一些东西 - 但你的问题是非常不清楚,没有真正的细节。请尝试提供更多信息。页面应该做什么?你有什么尝试? – Basic 2012-02-10 21:36:42
添加了一个例子 – 2012-02-10 21:58:07