href =“javascript:无效(0)“;与高级禁用链接

href="javascript:void(0)" vs. advanced disabling of links

本文关键字:高级禁 链接 javascript 无效 href      更新时间:2023-09-26

我用

href="javascript:void(0)"

来禁用href属性,然后使用onlclick为锚元素提供功能。

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

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

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

使用preventDefault()来移除默认功能。

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

编辑:

如果您不确定如何不显眼地控制单击事件,那么addEventListener()就是您需要的。你可以从那里控制一切,包括preventDefault()https://developer.mozilla.org/en/DOM/element.addEventListener

不知道你说的"在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>

不要在href中放javascript。别管这个。在onclick中做你想做的,只是确保它返回false(这样默认的链接动作就不会被执行)。记住,人们在新标签页/窗口中打开链接不会让你的代码被执行——他们只会打开href.

下的链接。

如果根本没有意义,你也可以在任何其他元素上使用onclick,而不仅仅是一个。