禁用锚点跳转

3
我正在处理 Winston Wolf 制作的互动地图。我有一张世界地图,其中每个大陆都可以点击,并显示该大陆的国家。当我点击大洲(例如非洲)时,页面会跳转到该洲的国家列表中(正如您所期望的那样)。我的问题是,我能否停止这种跳转行为?这是因为国家列表直接在地图下方,因此当您单击某个大洲时,页面会跳转到锚点 ID,从而隐藏地图。以下是我的代码:
<ul id="continents">
<li id="c1"><a href="#africa">Africa</a></li>
</ul>

<ul id="africa">
<a href="countrymapiframe.asp" target="_self" title=""><li>Egypt</li></a>
    <!--more countries-->
</ul>

我尝试过使用"onclick="return false"",但没有成功,希望能得到帮助。非常感谢。


1
当他们点击非洲时,您希望发生什么?什么都不想发生吗? - James Hill
@James Hill - 与通常情况完全相同,但没有页面移动,非洲国家在您单击非洲之前是隐藏的。 - Ghatzi
你可能需要发布一些在链接被点击时也在运行的JavaScript代码。请查看e.preventDefault和e.stopPropagation,或者在你的JavaScript click处理程序的末尾加上return false。 - Tank
2个回答

1

你可以使用JavaScript实现。一种简化的方法是在锚点上添加return false;的onclick事件。

<a href="countrymapiframe.asp" target="_self" title="" onclick="return false;">

但一般最好不要使用内联 onclick 属性。我建议使用 JavaScript 循环遍历锚点,并在该循环中分配监听器。


0
你可以尝试这段代码。
<a href="javascript:void(0);" target="_self"> Test </a>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接