我想知道默认配置对象的以下属性的用途。根据github上的文档:featherlight.js tagetAttr和自动启动功能
默认情况下,Featherlight在文档就绪时初始化与defaults.selector匹配的所有元素。如果您想防止这种情况,请在DOM准备好之前将$ .featherlight.defaults.autostart设置为false。
并在“绑定羽毛的部分”:
然后,它会寻找targetAttr(默认为“数据轻如羽毛”)这个元素,并使用它的价值的发现将是内容单击元素时将其打开为灯箱。
给上述两个,我想:
- 停止加载轻如羽毛,并在启动时初始化本身
- 而不是使用数据羽毛的-XXX的属性,使用的数据我,灯箱-xxx属性。
所以我做了以下内容:
在我的javascript中,onReady()函数之前,我补充说:
$.featherlight.defaults.autostart=false;
和
$.featherlight.defaults.targetAttr='data-my-lightbox';
但是,设置自动启动对虚假似乎没有任何影响。如果我看到来源,我也没有看到任何参考。虽然有一个'autoBind'变量。
接下来,我尝试设置数据-MY-收藏属性锚标记:
<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';
,且无需对明确$(..)的作品如羽毛的结构。迄今为止都很好。
但是,似乎iFrame的宽度/高度属性应该仍然是data-featherlight-xxxxx而不是data-my-lightbox-xxxx ..或许归因于源以下行:
var match = this.name.match(/^data-featherlight-(.*)/);
如果我修改成类似:
var matchRegEx = RegExp("^"+targetAttr+"-(.*)");
var match = this.name.
,并更新相关地方的代码?
感谢您的帮助和帮助。
感谢您指出这些问题。 – 2015-03-08 19:48:06