我目前正在制作文件浏览器。如果用户点击文件的链接,打开一个小窗口并询问选项(如下载和查看)。我使用onclick属性完成了这个。如果我点击链接,则执行javascript,但在此之后,href中指定的url会打开。我要做的是:如果你点击链接javascript得到执行,并最终转发你。但是,如果链接被右键单击,则“复制链接位置”仍应可用。 我正在考虑通过阻止转发脚本来解决这个问题。因此,如果链接被右键单击,则不会执行javascript,您可以复制链接位置。但是,如果您单击链接,则执行javascript并且不会打开链接。 用javascript可以实现这一点,还是有其他方法可以实现这种行为?
答案 0 :(得分:16)
为了防止链接执行,一种方法是让“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>
答案 1 :(得分:8)
您必须阻止点击功能的默认设置:
function stopDefAction(evt) {
evt.preventDefault();
}
答案 2 :(得分:1)
您可以通过文本“javascript:void(0)”替换href属性,例如:
<a href="http://..." id="somebutton">...</a>
<script>
document.getElementById('somebutton').href="javascript:void(0)"
</script>
答案 3 :(得分:0)
是的,您需要prevent the default action该事件。您可以在onclick属性中返回false
来执行此操作。