javascript - html - 如何防止浏览器打开 href 中指定的链接?

标签 javascript html href

我目前正在制作一个文件浏览器。如果用户单击指向文件的链接,则会打开一个小窗口并询问选项(如下载和查看)。我已经使用 onclick 属性完成了此操作。如果我单击链接,将执行 javascript,但之后会打开 href 中指定的 url。我想做的是:如果您单击链接,javascript 将被执行并最终转发给您。但是如果链接被右键单击,“复制链接位置”应该仍然可用。 我正在考虑通过阻止转发脚本来解决这个问题。因此,如果右键单击链接,则不会执行任何 javascript,您可以复制链接位置。但是,如果您左键单击链接,则会执行 javascript 并且不会打开链接。 这是否可以通过 javascript 实现,或者是否有任何其他方法可以实现此行为?

最佳答案

为了防止链接执行,一种方法是让“onclick”方法返回false

例如:

<a href="http://..." onclick="return clickfunc()">...</a>

如果 clickfunc() 返回 false,点击链接将不会指向“http://...”

虽然你可能更喜欢处理它

<a href="http://..." id="somebutton">...</a>
<script>
document.getElementById('somebutton').onclick = function() { 
      ... 
      else { return false; }
};
</script>

关于javascript - html - 如何防止浏览器打开 href 中指定的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10219073/

相关文章:

javascript - 可观察的订阅无法以非常短的间隔处理连续传入的数据

html - 显示来自服务器的图像时无法找到图像网页

javascript - 从 anchor 标记在新选项卡中打开 .docx 文件

html - 阻止 DIV 与其他 DIV 重叠(CSS)

html - 使用 css 更改 html 标签的 href

javascript - HTML 音频在嵌套的 div 容器中不起作用

javascript - 如何判断画中画模式的留画类型?

javascript - 创建自定义错误 : Understanding MDN Example

html - 如果比屏幕长,IE8 选择下拉列表将不会显示

python - 如何将值从模板传递到 flask