5

有什么区别:

<div onclick="return function()"></div>

对比

<div onclick="function()"></div> 

他们似乎在为我做同样的事情,我不确定该使用哪一个。

4

3 回答 3

10

例如<form onsubmit="return validate();">...,如果 validate() 返回 false,则提交将被取消。

<form onsubmit="validate();">...validate() 的返回值无关,提交将继续。

于 2012-07-19T11:50:53.373 回答
2

文字解释..

一个会将值返回给属性所在的元素,另一个则不会。

当您使用元素的默认点击方法时,只有在评估为隐式转换为truereturn function ()的值时才会执行。function ()

如果它产生false,则单击事件的评估将在运行onclick属性后停止。


如果onclick="function ()"元素的默认点击属性将始终执行,无论函数返回什么。


包含正在发生的事情的详细信息的示例片段。

function some_func () { return false; }

<a href="http://google.com" onclick="return some_func()">
  link #1
</a> <!-- user will never end up at google -->

如果在浏览器中启用了javascript,当然..

<a href="http://google.com" onclick="some_func()">
  link #1
</a> <!-- user will always end up at google -->

于 2012-07-19T11:54:17.090 回答
1

有一个区别,如果你写return,它会检查return是true还是false,只有return是true才会执行。否则它只会处理。

于 2012-07-19T11:52:03.377 回答