href =“javascript:void(0)”与高级禁用链接

时间:2011-08-28 23:13:35

标签: javascript

我用

href="javascript:void(0)"

禁用href属性,然后使用onclick为我的锚元素提供功能。我该如何以编程方式执行此操作。

3 个答案:

答案 0 :(得分:3)

当你说“在xhtml中运行,而不是在javascript中运行”时,不确定你的意思。

如果要禁用链接,可以使用return false取消默认操作。

<a href="http://www.apple.com" onclick="return false;">Apple</a>

更新 - 在函数的上下文中

<a href="/mypage.html" onclick="myFunction();">My Page</a>
<a href="/mypage.html" onclick="myFunction2(); return false;">My Page</a>

<script>
   function myFunction() {
       //do all the javascript stuff i want
       return false;
   }

   function myFunction2() {
       //do all the javascript stuff i want
   }
</script>

答案 1 :(得分:3)

如果可能的话,有几个问题。

我建议采用不引人注目的方法

我不会使用return false。它可能有意想不到的结果。快速谷歌搜索将有更多信息。

使用preventDefault()删除默认功能。

https://developer.mozilla.org/en/DOM/event.preventDefault

编辑:

如果您不确定如何不引人注意地控制click事件,那么addEventListener()就是您所追求的。你可以从那里控制一切,包括preventDefault() https://developer.mozilla.org/en/DOM/element.addEventListener

答案 2 :(得分:2)

不要将javascript放在href中。单独留下href。在onclick中执行您想要的操作,只需确保它返回false(以便不执行默认链接操作)。请记住,在新标签/窗口中打开链接的人不会执行您的代码 - 他们只需打开href下的链接。

如果根本没有href是有意义的,你也可以点击任何其他元素,而不仅仅是。