何时以及为什么要在JavaScript中返回false?
何时以及为什么要在JavaScript中return false
?
通常,在事件处理程序(如onsubmit
,返回false是一种告诉事件不实际触发的方法。 所以,在提交的情况下,这意味着表单不会被提交。
我猜你说的是你经常不得不把“回报错误” 在你的事件处理程序中的语句,即
<a href="#" onclick="doSomeFunction(); return false;">...
“回报虚假” 在这种情况下,停止浏览器跳转到当前位置(如href =“#”所示),而只执行doSomeFunction()。 当您想要将事件添加到定位标记时,但是不希望浏览器在每次点击时跳转到每个定位点
它被用来阻止事件的传播 。 你看到当你有两个元素都有一个单击事件处理程序(例如)
----------------------------------- | element1 | | ------------------------- | | |element2 | | | ------------------------- | | | -----------------------------------
如果你点击内部元素(element2),它将触发两个元素中的单击事件:1和2.它被称为“事件冒泡”。 如果只想在element2中处理事件,则事件处理程序必须返回false来停止事件传播。
另一个例子是链接的onclick处理程序。 如果你想停止链接表单工作。 你可以添加一个onclick处理程序并返回false。 阻止事件传播到默认处理程序。
呃…在布尔函数中如何表示“不正确”?
我也是在search“js,何时使用'return false'来到这个页面的。 在其他search结果中,我发现了一个更有用,更简单的页面,关于Chris Coyier的CSS-Tricks网站: “return false;”之间的区别 和'e.preventDefault();'
他的文章的要点是:
function(){return false; }
//等于
函数(e){e.preventDefault(); e.stopPropagation(); }
尽pipe我仍然会推荐阅读整篇文章。
更新:在论证使用return false的优点之后; 作为e.preventDefault()的替代品; &e.stopPropagation(); 我的一位同事指出,返回false还会停止callback执行,如本文所述: jQuery Events:Stop(Mis)使用Return False 。
当使用jQuery的each
函数时,返回true或false有意义。 看文档
我认为一个更好的问题是,为什么在你评估一组布尔型返回值的情况下,你会不会使用true / false ? 我的意思是,你可能有true / null,true / -1,其他misc。 用Javascript“虚伪”的价值取代,但你为什么要这样做呢?
当你想从一个锚标签触发javascript代码时,应该使用onclick处理程序而不是javascript:伪协议。 在onclick处理程序中运行的JavaScript代码必须返回true或false(或者expression式比evalues为true或false)回到标记本身 – 如果返回true,那么将像普通链接一样跟踪锚点的HREF。 如果返回false,那么HREF将被忽略。 这就是为什么“返回假”。 通常包含在onclick处理程序的代码末尾。
你使用return false来防止发生。 所以,如果你有一个脚本运行提交然后返回false将阻止提交工作。
在函数中调用return语句时,停止执行此函数。 如果指定,给定的值返回给函数调用者。 如果省略expression式,则返回undefined。
为更多在这里看看
简单的答案是,如果你想停止你的过程,你使用的function
例:
function foo(a){ if(a == 'No'){ alert('Okey'); return false; }; // your syntax }
那简单,如果var“a”是否则给文本“Okey”并停止你的function