归还与否有什么区别?

时间:2011-08-21 12:49:39

标签: javascript

  

可能重复:
  What's the effect of adding 'return false' to an onclick event?
  When and why to 'return false' in javascript?

我的意思是,如果我有这个功能:

 function openMask() {
     alert("enter");
 }

最好把它称为:

 <a href="javascript:void(0);" onclick="openMask()">Link</a>

或:

 <a href="javascript:void(0);" onclick="openMask(); return false;">Link</a>

???我真的很好奇!永远不明白差异......

4 个答案:

答案 0 :(得分:4)

在DOM事件处理程序(例如onclick)中,返回true表示“继续事件”,返回false表示“不要”。

在这种情况下,它并不完全有意义,因为您的href已经javascript:void(0)(它不会做任何事情)。

但是请注意,javascript: URI应该真正避免,并且这对非Javascript用户没有多大帮助,所以你应该提供一个后备页面,然后return false成为更有意义:

JS:

function openMask() {
   alert("enter");
   return false; 
}

HTML:

<a href="fallbackpage.html" onclick="return openMask();">Link</a>

答案 1 :(得分:3)

最好的方法是使用:

 <a href="/page/with/opened/mask" onclick="openMask(); return false;">Link</a>

因此,没有JavaScript的用户(包括Google Bot)可以使用您的网站。

答案 2 :(得分:1)

return false会导致浏览器忽略href。在您的具体示例中,由于href什么也不做,所以它什么都没改变,但是如果您有类似href='#'

的内容就很重要

答案 3 :(得分:1)

return false   

表示阻止事件的默认行为。在您的示例中,这会阻止浏览器打开链接的网址