1

問題を引き起こしているコードがいくつかあります。

これです:

    onclick="return my_Check();"

そしてこれ:

    onclick="my_Check();"

私の質問は、これは同じことではないかということです。

4

4 に答える 4

2

いいえ、最初は関数の戻り値を返しますmy_Check()

2番目はしません。

これは、イベントがその戻り値に応答する可能性があることを意味します。一部のイベントは戻るときにキャンセルされるfalseため、ページの動作に影響を与える可能性があります。

于 2013-02-18T16:51:07.120 に答える
1

いいえ、同じではありません。ブラウザは内部で「onclick」属性の文字列値を使用して関数を作成します。

var actualHandler = new Function( "event", attributeValue); // for IE, no "event"

したがって、returnキーワードを追加すると、ハンドラー関数は、呼び出されたときの作業が完了した後、ブラウザーに値を返します。これは、ハンドラーがイベントに応答してブラウザーが「ネイティブ」アクションを実行しないようにする場合に重要ですfalse。ブラウザーに戻って何もしないように指示できます。

編集—引数の順序を逆にしましたが、修正されました

于 2013-02-18T16:52:25.493 に答える
0

いいえ。

送信する前に、最初のものを実行する場合formsubmit

  • 結果がの場合false、フォームは送信されません

  • 2番目のものでは-そうなります。(my_Check();falseを返しても)

于 2013-02-18T16:50:48.803 に答える
0

returnパスは、ハンドラーに戻るものをすべて渡しますmy_Checkmy_Checkを返す場合false、イベントのデフォルトのアクションはキャンセルされます。これがないと、戻り値は破棄され、デフォルトのアクションが実行されます。

于 2013-02-18T16:51:57.200 に答える