1

我有一个包含 href 链接的 JSP 页面。单击链接时,我需要调用 2 个 javascript 函数。只有当第一个函数返回时,第二个 javascript 函数才应该执行true。我试过这个:

 <a href="#" onClick="return firstFunction(); secondFunction()"> Click me </a>

但这不起作用。我想要的是,如果第一个函数返回 true,则执行第二个函数。

4

5 回答 5

3

当您返回第一个函数的结果时,块将退出。除非你打算对结果做点什么,否则你应该说:

<a href="#" onClick="return firstFunction() ? secondFunction() : false;">Click me</a>
于 2013-01-05T20:32:37.643 回答
3

你可以这样做

<a href="#" onClick="return firstFunction() ? secondFunction() : false"> Click me </a>
于 2013-01-05T20:33:09.353 回答
2

您目前拥有:

function () {
    return firstFunction();
    secondFunction();
}

然后,此调用firstFunction返回其值,并且永远不会到达对 的调用secondFunction

你要:

function () {
    var result = firstFunction();
    if (result) {
        secondFunction();
    }
}
于 2013-01-05T20:32:33.580 回答
1
<a href="#" onClick="return if (firstFunction()) secondFunction();"> Click me </a>

如果您希望 true 表示“只有真实的东西,而不仅仅是使用布尔比较 = true 的东西”

<a href="#" onClick="return if (firstFunction()===true) secondFunction();"> Click me </a>

但你可能不会

于 2013-01-05T20:31:52.963 回答
1
<a href="#" onClick="foo()"> Click me </a>

function foo(){
    if (firstFunction() === true)
        secondFunction()
}

return退出函数,所以你刚刚返回firstFunction并退出了函数,比如

function foo(){
    return firstFunction();
     secondFunction(); // Unreachable code.
}
于 2013-01-05T20:32:38.340 回答