当我想让某些链接不做任何事情而只响应javascript操作时,避免链接滚动到页面顶部边缘的最好方法是什么?
我知道几种方法,它们似乎都工作得很好:
<a href="javascript:void(0)">Hello</a>
或
<a id="hello" href="#">Hello</a>
<script type="text/javascript>
$(document).ready(function() {
$("#toto").click(function(){
//...
return false;
});
});
</script>
甚至:
<a id="hello" href="#">Hello</a>
<script type="text/javascript>
$(document).ready(function() {
$("#toto").click(function(event){
event.preventDefault();
//...
});
});
</script>
你有什么偏好吗?为什么?在什么情况下?
PS:当然,上面的示例假设您使用的是jquery,但是mootools或prototype也有等价物。
发布于 2010-08-17 08:41:04
默认情况下,Dreamweaver使用了一个我已经开始使用的小技巧。
<a href='javascript:;'></a>
它很小,它不会绊倒和锚定,而且它是库不可知的。
发布于 2010-08-17 08:46:05
我倾向于使用return false
,因为它让用户可以选择是否在quirksmode模式下继续该操作,如下图所示:
http://www.quirksmode.org/js/events_early.html#default
它很简单,很旧,但它工作得很好,跨浏览器,不管javascript的版本是什么。
发布于 2010-08-17 08:46:21
event.preventDefault()
和return false;
是一回事-它们指示浏览器不处理事件的默认操作(在本例中,导航到所单击的锚定标记的href )。href=javascript:
和它的同类是另一回事--它们导致默认的动作是“什么都不做”。
这是一个风格的问题。您是希望在onclick中完成所有工作,还是希望能够将操作同时放在onclick和href中,并依靠浏览器的功能在两者之间进行调节?
https://stackoverflow.com/questions/3498492
复制相似问题