Firefox中MaterializeCSS的奇怪模态行为

时间:2019-03-26 19:28:16

标签: firefox modal-dialog materialize

我在Firefox(66.0.1)中使用Materialize CSS模式时发现了一个非常奇怪的行为。它在Chrome(73.0.3683.86)和MS Edge(在哪里可以找到版本?)中正常工作。我正在使用Windows10。它也通过Materialize CSS官方网站中的模式演示来实现。

如果您显示具有足够内容的模式以使其显示垂直滚动条,则问题似乎开始。它需要具有链接或按钮才能看到我将描述的问题。您可以通过调整Firefox的大小来模拟这种情况,使其垂直高度足够小以使滚动条出现。现在关闭模态。然后调整Firefox的高度,以使模态显示时没有滚动条。打开模式并悬停在链接或按钮上,应该发生的任何悬停效果都不会发生。单击任何链接或按钮一次,没有任何反应。再次单击即可正常工作。

甚至更奇怪的是,在使用滚动条打开第一个模态之后,您可以在不使用滚动条的情况下打开第二个模态,并且在15秒钟内什么也不做,然后链接或按钮将正常工作。

发生这种情况时,我尝试在Firefox Inspector中右键单击该按钮以“检查元素”。我没有得到按钮,而是得到了模式叠加元素。请注意,发生这种情况时,叠加层不会位于按钮或任何模式内容上方。这不是z-index问题。为了查看覆盖是否存在问题,我向模式选项中添加了一个onOpenEnd()函数,该函数会在模式打开后立即删除覆盖。我有同样的问题。当我再次尝试在检查器中打开它时,按钮后面有东西。因此,几乎就像模态还没有出现一样,直到我先单击模态或等待15秒钟。

然后,我尝试向onOpenEnd()函数添加一些代码,这些代码将焦点放在按钮上,但没有效果。我尝试按Tab键,但是那也不起作用。

就在提交此书之前,我发现了另一个难题。正如我所说,将鼠标悬停在按钮上并不会显示通常的悬停指针。但是,如果我将鼠标悬停在按钮的上方和左侧,则光标会发生变化。当我单击此处时,按钮的颜色确实会像单击时一样发生变化,但是不会发生操作(关闭模式)。嗯......

如果要对此进行测试,请转到Materialize CSS网站并打开模态页面。 (https://materializecss.com/modals.html)减小Firefox的垂直大小,以便在打开演示模式时它具有垂直滚动条。现在关闭模态。将Firefox调整为正常的垂直高度,然后再次打开模式。将鼠标悬停在“同意”或“不同意”按钮上,您将不会得到指针光标。尝试单击一次,没有任何反应。再次单击,模态将关闭。或者等待15秒钟,然后按钮开始工作。

我的大多数用户将打开模式超过15秒,所以这不是什么大问题。但是有时候他们会打开它只是为了检查某些东西然后想要关闭它。当然,他们可以单击两次,但我希望它能正常工作。 Chrome和Edge可以正常工作。 Firefox没有。谁能想到导致这种情况的原因,以及我在代码中是否可以做些什么才能使其正常工作?谢谢。

0 个答案:

没有答案