当我有一个连接了jQuery或JavaScript事件的链接时,例如:
<a href="#">My Link</a>
如何防止页面滚动到顶部?当我从锚点中删除href属性时,页面不会滚动到顶部,但是链接看起来并不是可点击的。
发布于 2009-10-22 02:27:54
一种简单的方法是利用以下代码:
<a href="javascript:void(0);">Link Title</a>
这种方法不会强制页面刷新,因此滚动条保持不变。此外,它还允许您以编程方式更改onclick事件,并使用jQuery处理客户端事件绑定。
由于这些原因,上述解决方案优于:
<a href="javascript:myClickHandler();">Link Title</a>
<a href="#" onclick="myClickHandler(); return false;">Link Title</a>
当且仅当myClickHandler方法不失败时,最后一个解决方案才能避免滚动跳转问题。
发布于 2017-06-14 23:38:48
您应该更改
<a href="#">My Link</a>
至
<a href="javascript:;">My Link</a>
这样,当单击链接时,页面不会滚动到顶部。这比使用href="#“然后阻止默认事件运行要干净。
关于this question的第一个回答,我有很好的理由这样做,比如如果被调用的函数抛出错误,return false;
将不会执行,或者您可能将return false;
添加到doSomething()
函数中,然后忘记使用return doSomething();
发布于 2009-10-22 01:24:36
从您要调用的代码中返回false将会起作用,并且在许多情况下是首选方法,但您也可以这样做
<a href="javascript:;">Link Title</a>
当谈到搜索引擎优化,这真的取决于你的链接是用来做什么的。如果你打算实际使用它来链接到其他一些内容,那么我会同意,理想情况下,你会想要一些有意义的东西,但如果你是为了功能目的而使用该链接,可能就像Stack Overflow为post工具栏所做的那样(粗体、斜体、超链接等),那么它可能并不重要。
https://stackoverflow.com/questions/1601933
复制相似问题