2

別の質問に答えているときに、非常に奇妙な動作だと思われるものに遭遇しました。これはバグと見なすべきなのか、それとも仕様のどこかにあるのか疑問に思っています。

この動作は、このjsFiddleで確認できます。

次の入力チェックボックス要素があるとします。

<input type="checkbox" id="check" />

次のクリック イベント ハンドラーを適用するとします (例を簡潔にするために、ここでは jQuery を使用します)。

$('#check').on('click', function (e) {
    console.log(this.checked);
    return false; //This prevents the default action from occurring.
});

開発者コンソールに次のように表示されます。

true

ここで実際に起こっていることは、クリック イベント ハンドラーに入る前に、チェックボックスの状態が変化していることです。ただし、クリック イベント ハンドラーが既定のアクションを防止する場合、チェックボックスの状態はrevert になります。

これは私にはバグのようです。デフォルトのアクションが妨げられていない場合、チェックボックスの状態はクリックイベントハンドラーの後にのみ更新されると思います。

これはバグですか?これは、別のブラウザー ディストリビューターに報告する必要がありますか?

(現在、これはChromeでのみテストしています)

4

1 に答える 1