javascript - 如何指定 anchor 标记的行为类似于超链接,没有 href 且没有 anchor 名称?

标签 javascript html hyperlink onclick anchor

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

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

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

所有这些都工作得很好;链接显示,我可以单击它,并且我的 javascript 方法已成功执行。

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

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

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

很明显,这不是我正在尝试开发的框架的预期行为。如果有人有任何建议来解决这个特定问题,我将非常感谢您的意见。

--- 在输入这些内容时,我认为我可以在屏幕顶部放置一个静态 anchor (例如 0,0 或 -,- ),并强制所有链接引用该 anchor 。如果有人看到这个解决方案的任何可行性,我可能会探索它。

--- 已编辑 ---

接受的答案:

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

可能的解决方案:

<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>

再次感谢大家。

--- 结束编辑 ---

最佳答案

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

<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>

关于javascript - 如何指定 anchor 标记的行为类似于超链接,没有 href 且没有 anchor 名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13845968/

相关文章:

javascript - insertRow() 到特定行 id

javascript - 在 Javascript 中获取线坐标

javascript - Iframe 不尊重高度属性

javascript - 固定侧边栏滚动,防止将页脚向下推

html - 如何创建一个一段时间后消失的div,但悬停会保留它?

仅包含图像的链接上的 CSS 过渡

javascript - three.js 3d 模型作为超链接

svg - SVG Sphinx 继承图中缺少链接

javascript - 动态创建( Bootstrap )html 表格行 - 单击事件不会触发

html - CSS:类似 Youtube 的视频页面布局