首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >featherlight.js tagetAttr与自动启动函数

featherlight.js tagetAttr与自动启动函数
EN

Stack Overflow用户
提问于 2015-03-08 18:07:37
回答 1查看 1K关注 0票数 1

我想知道默认配置对象的以下属性的用途。根据关于github的文件:

默认情况下,羽毛灯初始化与文档就绪上的defaults.selector匹配的所有元素。如果要防止这种情况,请在DOM准备就绪之前将$.featherlight.defaults.autostart设置为false。

在“绑定羽毛光部分”下:

然后,它将查找该元素上的targetAttr (默认情况下为“数据-羽毛光”),并使用它的值来查找当您单击该元素时将作为lightbox打开的内容。

给出以上两点,我想:

  1. 停止装载羽毛灯并在启动时初始化
  2. 与其使用xxx属性,不如使用属性。

所以我做了以下几件事:

在我的javascript中,在onReady()函数之前,我添加了:

代码语言:javascript
复制
$.featherlight.defaults.autostart=false;

代码语言:javascript
复制
$.featherlight.defaults.targetAttr='data-my-lightbox';

但是,将自动启动设置为false似乎没有任何效果。如果我看看资料来源,我也没有看到任何参考资料。但是有一个“autoBind”变量。

接下来,我尝试在锚标记上设置data lightbox属性:

代码语言:javascript
复制
<a href="#" data-my-lightbox="my-image-gallery.html" ...> 

也尝试过:

代码语言:javascript
复制
<a href="my-image-gallery.html" data-my-lightbox="iframe" ...>

但这似乎也被忽视了。直到我做了以下事情:

代码语言:javascript
复制
$('[data-my-lightbox]').featherlight();

在某种程度上,这似乎是合乎逻辑的,但我的印象是,如果在onReady之前更改默认属性,其余的就会就位。然后我发现了autoBind变量(在onReady()之前):

代码语言:javascript
复制
$.featherlight.autoBind='[data-my-lightbox]';
$.featherlight.defaults.targetAttr='data-my-lightbox';

这不需要显式的$(.).featherlight构造。目前为止一切都很好。

但是,iFrame的宽度/高度属性仍然应该是数据

代码语言:javascript
复制
var match = this.name.match(/^data-featherlight-(.*)/);

如果我把它改为:

代码语言:javascript
复制
var matchRegEx = RegExp("^"+targetAttr+"-(.*)"); 
var match = this.name.

更新相关地方的代码?

谢谢你的帮助和帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-08 18:59:21

正如您所发现的,更新自述反映了一个人应该使用autoBind的事实。

在最新的版本中,除了namespacetargetAttr之外,还需要更改autoBind选项,以获得所需的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28930012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档