Foundation 4.3.1 と Reveal 4.3.2 および jQuery 2.0.3 を使用しています。次のコードを使用して、プログラムでモーダルを正常に開いています。
$('.akita-modal-ajax').on('click', function (e) {
e.preventDefault();
var modalId = $(this).data('id'),
url = $(this).attr('href');
$('#' + modalId).foundation('reveal', 'open', {
url: url;
});
});
モーダルを閉じるために使用しているコードは次のとおりです。
$('.akita-modal').on('click', '.close-reveal-modal',function () {
console.log('click');
$('.akita-modal').foundation('reveal', 'close');
});
そして私のモーダル(開いたら):
<div id="myModal" class="akita-modal open" style="display: block; opacity: 1; visibility: visible; top: 50px;">
<a class="close-reveal-modal">×</a>
...More content...
</div>
クリックしてモーダルを閉じると、コンソールに「クリック」が登録されますが、モーダルは開いたままです。興味深いことに、カスタム クラスを無視して、「akita-modal」のすべての参照を「reveal-modal」に戻すと、すべて正常に機能します。しかし、私は Reveal のデフォルト スタイルに固執しています。
私も試しました:
$('.akita-modal').on('opened', function () {
$('.akita-modal').on('click', '.close-reveal-modal',function () {
console.log('click');
$('.akita-modal').foundation('reveal', 'close');
});
});
まったく同じ結果です。「クリック」はログに記録されますが、モーダルは開いたままです。コンソールには他にエラーはありません。別の SO の質問に答えた JoelCDoyle 以外に、この問題を抱えている人に遭遇したことはありません: Foundation 4 でモーダルを明らかにする
独自のクラス名を使用してこのモーダルを閉じるにはどうすればよいですか?