Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
href=“javascript:void(0)”与链接的高级禁用_Javascript - Fatal编程技术网

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

href=“javascript:void(0)”与链接的高级禁用,javascript,Javascript,我用 要禁用href属性,然后使用onlclick为我的锚元素提供功能。我如何通过编程实现这一点。不确定您所说的在xhtml中工作,而不是在javascript中工作是什么意思 如果要禁用链接,可以使用return false取消默认操作 href="javascript:void(0)" 更新-在函数的上下文中 <a href="http://www.apple.com" onclick="return false;">Apple</a> 如果可以的话,有几个问题

我用


要禁用href属性,然后使用onlclick为我的锚元素提供功能。我如何通过编程实现这一点。

不确定您所说的在xhtml中工作,而不是在javascript中工作是什么意思

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

href="javascript:void(0)"
更新-在函数的上下文中

<a href="http://www.apple.com" onclick="return false;">Apple</a>
如果可以的话,有几个问题

我建议采取一种不引人注目的方式

我不会使用returnfalse。这可能会产生意想不到的结果。快速的谷歌搜索将会有更多的信息

使用preventDefault删除默认功能

编辑:

如果您不确定如何悄悄地控制单击事件,您需要的是addEventListener。您可以从那里控制一切,包括默认设置

不要将javascript放在href中。别管那个人。在onclick中执行您想要的操作,只需确保它返回false,这样就不会执行默认链接操作。请记住,在新选项卡/窗口中打开链接的人不会执行您的代码-他们只会在href下打开链接


如果使用a href毫无意义,您还可以在任何其他元素上使用onclick,而不仅仅是a。

那么问题是什么?如果删除target=\u blank,它是否还能工作。。。我想是的。+1好的建议是不要使用href,尽管最好不要像@Scott说的那样单击并使用AddEventListener。回答得很好。我不知道为什么你会说returnfalse会产生意想不到的结果。它实际上是最古老的受支持方法,甚至在IE2中也可以使用。我不知道有哪个浏览器版本不支持此功能。如果他使用默认路径,他应该知道IE6不支持addEventListener,他需要使用attachEvent。Quirksmode进入精致的细节-返回false不会停止冒泡。这就是我所指的内容,没有详细说明,也是我建议使用谷歌搜索的原因。这里有一个关于这个主题的大线索@Chris Aaker-是的,只需在方法末尾添加return false。我用一个例子更新了我的答案。另请参见我对Scott解决方案的评论。这一点很重要,取决于您计划支持的浏览器版本。@JamWaffles-您对细节有很好的洞察力。@mrtsherman谢谢。你有一种魔鬼般的幽默感-P
<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>