我想知道默认配置对象的以下属性的用途。根据关于github的文件:
默认情况下,羽毛灯初始化与文档就绪上的defaults.selector匹配的所有元素。如果要防止这种情况,请在DOM准备就绪之前将$.featherlight.defaults.autostart设置为false。
在“绑定羽毛光部分”下:
然后,它将查找该元素上的targetAttr (默认情况下为“数据-羽毛光”),并使用它的值来查找当您单击该元素时将作为lightbox打开的内容。
给出以上两点,我想:
所以我做了以下几件事:
在我的javascript中,在onReady()函数之前,我添加了:
$.featherlight.defaults.autostart=false;和
$.featherlight.defaults.targetAttr='data-my-lightbox';但是,将自动启动设置为false似乎没有任何效果。如果我看看资料来源,我也没有看到任何参考资料。但是有一个“autoBind”变量。
接下来,我尝试在锚标记上设置data lightbox属性:
<a href="#" data-my-lightbox="my-image-gallery.html" ...> 也尝试过:
<a href="my-image-gallery.html" data-my-lightbox="iframe" ...>但这似乎也被忽视了。直到我做了以下事情:
$('[data-my-lightbox]').featherlight();在某种程度上,这似乎是合乎逻辑的,但我的印象是,如果在onReady之前更改默认属性,其余的就会就位。然后我发现了autoBind变量(在onReady()之前):
$.featherlight.autoBind='[data-my-lightbox]';
$.featherlight.defaults.targetAttr='data-my-lightbox';这不需要显式的$(.).featherlight构造。目前为止一切都很好。
但是,iFrame的宽度/高度属性仍然应该是数据
var match = this.name.match(/^data-featherlight-(.*)/);如果我把它改为:
var matchRegEx = RegExp("^"+targetAttr+"-(.*)");
var match = this.name.更新相关地方的代码?
谢谢你的帮助和帮助。
发布于 2015-03-08 18:59:21
正如您所发现的,更新自述反映了一个人应该使用autoBind的事实。
在最新的版本中,除了namespace和targetAttr之外,还需要更改autoBind选项,以获得所需的结果。
https://stackoverflow.com/questions/28930012
复制相似问题