1

hrefリンクを含むJSPページがあります。リンクをクリックしたら、2つのJavaScript関数を呼び出す必要があります。2番目のjavascript関数は、最初の関数がを返す場合にのみ実行する必要がありますtrue。私はこれを試しました:

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

しかし、これは機能していません。私が欲しいのは、最初の関数がtrueを返した場合に、2番目の関数が実行されることだけです。

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であるだけでなく、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 に答える