Featherlight close与手动关闭

时间:2017-12-20 20:53:29

标签: featherlight.js

看到这个小提琴.. http://jsfiddle.net/JNsu6/460/

循环模拟了我通过$.featherlight.current().close()关闭灯箱内容然后重新打开的情况。唯一的区别在于我的情况是由于焦点问题而发生的,其中点击按钮以打开它保持焦点并按下键盘上的输入按钮导致灯箱再次打开,显示重复的内容。我提到这只是为了注意它不是引起问题的循环速度。

出于某种原因,$.featherlight.current().close()没有清除内容,但是,单击右上角的“x”并手动关闭它,然后重新打开。查看代码,它们在代码中都调用相同的close函数。

您能帮忙解释一下吗,让我知道如何清除内容?有没有我失踪的环境?

1 个答案:

答案 0 :(得分:1)

由于这些影响,close()不是立竿见影的,所以发生了一些错误。

如果你在小提琴的开头添加$.fx.off = true;,一切正常。

我能看到的解决方案是:

  • 尝试使用afterClose回调
  • 或使用不同的DOM元素(比如使用clone()
  • 或重复使用相同的羽毛灯而不是关闭+开启

也许有可能调整FL代码本身以避免交互并发布PR,我不知道它会带来什么。随意为此打开一个问题,这是一个错误。

最后,a fork that uses CSS effects可能会对您有所帮助。可悲的是,没有人有时间从中提交干净的提交以合并到FL。

HTH