4
$('#button').click(function() {
   $('.field').each(function() {
      if (condition) {
         return false;
      }
   });
   alert("This alerts even when loop returns false");
});

私のif条件に達するreturn false;と、スクリプトは $.click イベントを通過し続けます。すべての JavaScript 関数/イベントを完全に停止することは可能ですか?

4

1 に答える 1

3

これreturnで内部の機能ブロックが終了します。外側のブロックを終了するには、別のを使用しますreturn:

$('#button').click(function() {
    var exit = false;
    $('.field').each(function() {
        if (condition) {
            exit = true;
            return false;
        }
    });

    if( exit ) {
        return false;
    }

    alert("This alerts even when loop returns false");
});

(または、私が設定した方法と同様に、設定したブール変数に基づいて残りのコードを条件付きで実行することもできますexit)

于 2012-08-15T01:23:40.420 に答える