JQuery のアコーディオン モジュールを使用してフォーム ウィザードを作成しています。問題は、アコーディオンが次のセクションを表示する前にフォームが最初に検証されるように、アコーディオン メニューのマウス クリックをオーバーライドしたいことです。
私は次のことを試しました:
$('#accordion h3').unbind();
$('#accordion h3').click(function() {
if (validate())
{
$("#accordion").accordion('activate', 2);
}else
{
alert("invalid form");
}
}
しかし、上記のコードは機能しません。アコーディオンの組み込みのクリック イベントは引き続き呼び出され、フォームが有効かどうかに関係なく、アコーディオンは次のセクションを表示します。
次のコードも試しました。
$('#accordion h3').click(function(event) {
if (validate())
{
$("#accordion").accordion('activate', 2);
}else
{
alert("invalid form");
}
event.stopPropagation();
});
しかし、stopPropagation() 呼び出しはアコーディオンの動作にまったく影響を与えないようです。フォームが有効かどうかに関係なく、次のセクションが表示されます。
私が間違っているかもしれないことは何ですか?