如何准确地知道打开了哪个Foundation Modal窗口

How to know exactly which Foundation Modal window is opened?

本文关键字:Foundation Modal 窗口 何准确      更新时间:2023-09-26

我在HTML中定义了两个模式窗口:

<div class="reveal" id="modal-1" data-reveal>
    <button class="close-button" data-close aria-label="Close modal 1" type="button">
        <span aria-hidden="true">&times;</span>
    </button>
    <p>content 1</p>
</div>
<div class="reveal" id="modal-2" data-reveal>
    <button class="close-button" data-close aria-label="Close modal 2" type="button">
        <span aria-hidden="true">&times;</span>
    </button>
    <p>content 2</p>
</div>

根据特定函数的结果,其中一个模态将通过调用$('#modal-1').foundation('open');$('#modal-2').foundation('open');来调用(打开)。

这非常好。我可以很容易地检查是否打开了任何模式窗口,因为一旦我调用.foundation('open'),就会在body中添加一个名为is-reveal-open的新类。这很好,但是。。。

问题:如何准确确定打开了哪个窗口我不想循环遍历DOM等。Foundation为此提供了某种帮助方法吗?有没有想过如何以最好的方式做到这一点?

PS。我使用foundation-sites@6.1.1

在这种情况下,考虑到有多个模态对象实例要查询,最简单的方法是:

$(".modal:visible")

它将返回模态的DOM节点

ps:在基础5中,选择器是$(".reveal-modal:visible"),不确定哪一个对你有好处