0

好的,所以这个有一些类似的线程,但我找不到任何能把它钉在头上的东西,所以我们开始吧。

我正在尝试使用锚标记模拟链接,如下所示:

<a onClick="javascript: DownloadPorn();">Click Here!</a>

所有这一切都很好,花花公子;链接显示,我可以点击它,我的javascript方法成功执行。

这里的问题是,如何正确强制链接以与实际“HTML 链接”“相同的方式”显示?或者更确切地说,以“相同的方式”,就好像我在上述标签中有一个 href;像这样:

<a href="#" onClick="javascript: DownloadMorePorn();">Click Here!</a>

现在...此代码片段强制链接以我期望的方式显示,但在使用此方法时,当单击链接时,滚动位置会弹回顶部。

可能很清楚,这不是我正在尝试开发的框架的预期行为。如果有人对克服这个特定问题有任何建议,我将非常感谢您的意见。

--- 在全部输入时,我认为我可以在屏幕顶部放置一个静态锚点(比如 0,0 或 -,- ),并强制我的所有链接引用该锚点。如果有人在此解决方案中看到任何可行性,我可能会对其进行探索。

--- 已编辑 ---

接受的答案:

为了让锚点充当超链接,而不操纵浏览器的当前位置;利用 Javascript 方法在 href 属性中返回任何内容(?),或在锚点的备用事件处理程序之一(即 onClick 方法)中有效返回“false”。

可能的解决方案:

<a href="javascript: DoSomething();">Link</a>
<a href="javascript: void(0);" onClick="javascript: DoSomething();">Link</a>
<a href="#" onClick="javascript: DoSomething(); return false;">Link</a>

再次感谢大家。

--- 结束编辑 ---

4

3 回答 3

1

如果您return false在 onclick 属性的末尾使用它,它不会使其滚动到任何地方。

<a href="#" onClick="someFunc(); return false;">Click Here!</a>

或者您可以让您的函数返回 false,并返回其结果 (false) 并在更短的 onclick 属性中执行它:

<script type="text/javascript">
function someFunc() {
    // all your function code here
    return false;
}
</script>
<a href="#" onClick="return someFunc()">Click Here!</a>
于 2012-12-12T18:33:03.877 回答
1

设置hrefjavascript:void(0);,这将意味着浏览器显示链接,就好像它有一个真实的href

<a href="javascript:void(0);" onClick="javascript: DownloadBooks();">Click Here!</a>

还有其他方法,例如将 href 设置为#,但显示的一种方法的优点是您不必担心返回 false 或指定return DownloadBooks()

这个问题有一些关于使用的好信息javascript:void(0)

于 2012-12-12T18:13:14.260 回答
1

将javascript函数设置为href。

<a href="javascript:DownloadPorn();">Click Here!</a>

编辑:只是要注意一些人认为这是不好的做法。

于 2012-12-12T18:15:33.380 回答