Featherlight 关闭的行为不同于手动关闭

Featherlight close acts differently than manual close

看到这个fiddle..http://jsfiddle.net/JNsu6/460/

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

由于某些原因,$.featherlight.current().close()并没有清除内容,但是,单击右上角的"x"并手动关闭它,然后重新打开。看代码,代码中都调用了同一个close函数

你能帮忙解释一下吗,让我知道如何清除内容?是否有我缺少的设置?

由于效果,close() 不是立竿见影的,所以出现了问题。

如果您在 fiddle 的开头添加 $.fx.off = true;,一切正常。

我能看到的解决方案是:

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

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

最后,a fork that uses CSS effects 可能更适合您。可悲的是,没有人有时间从中做出干净的提交以合并到 FL。

HTH