20

我有一个按钮作为图像...

<img src="button.png" />

我在 onclick 中需要一些 javascript,单击时它将导航到本地锚点。例如:

<img src="button.png" onclick="navigateTo #page10" />

我怎样才能做到这一点?

更新:这是我正在使用的代码:

onclick="document.location=#goToPage';return false;"
4

4 回答 4

33

接受的答案中提出的解决方案有一个重要问题,即它只能使用 1 次。每次连续单击都会附加#goToPage到位置,并且窗口不会导航到锚点。

一种解决方案是在添加新锚之前移除锚部分:

function goToAnchor(anchor) {
  var loc = document.location.toString().split('#')[0];
  document.location = loc + '#' + anchor;
  return false;
}

使用示例:

<a href="#anchor" onclick="goToAnchor('anchor')">Anchor</a>

注意:锚需要用引号括起来,没有哈希前缀。

于 2015-06-30T01:58:46.393 回答
17

看起来onClick应该是:

onclick="document.location+='#goToPage';return false;" 
于 2012-08-05T10:20:04.590 回答
5

将其包裹在锚标记中。你不需要使用 JS。

<a data-role="none" href="#page10"><img src="button.png" /></a>
于 2012-08-05T09:24:56.617 回答
1

尝试使用 with / slash for root 或 /folder/,这样可以多次使用。

onclick="document.location='/#goToPage';return false;" 

onclick="document.location='/folder/#goToPage';return false;" 
于 2019-11-28T11:51:44.470 回答