【问题标题】:disable anchor jump禁用锚点跳转
【发布时间】:2012-02-04 05:55:15
【问题描述】:

我正在制作 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",但没有成功,任何帮助将不胜感激。

【问题讨论】:

  • 当他们点击非洲时,您希望发生什么?什么都没有?
  • @james Hill - 与正常情况完全相同,但没有页面移动,非洲国家/地区将被隐藏,直到您点击非洲。
  • 您可能需要发布一些在单击链接时也在运行的 javascript。查看 e.preventDefault 和 e.stopPropagation 或将 return false 放在 javascript 点击处理程序的末尾。
  • @tank-thanks,我会调查的

标签: javascript html map


【解决方案1】:

是的,您可以使用 javascript。一种简化的方法是将return false; onclick 事件添加到锚点

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

但通常最好不要使用内联 onclick 属性。我建议使用 javascript 遍历锚点并在该循环中分配一个侦听器。

【讨论】:

    【解决方案2】:

    你可以试试这个代码

    <a href="javascript:void(0);" target="_self"> Test </a>
    

    【讨论】:

      猜你喜欢
      • 2021-07-30
      • 2019-02-01
      • 2011-04-09
      • 2015-01-21
      • 1970-01-01
      • 2014-05-24
      • 2012-11-24
      • 2012-12-13
      • 2015-06-17
      相关资源
      最近更新 更多