首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:$(.).lightGallery(.).destroy不是函数

TypeError:$(.).lightGallery(.).destroy不是函数
EN

Stack Overflow用户
提问于 2015-09-18 11:11:49
回答 5查看 6.9K关注 0票数 0

我从firefox获得了这个错误:

代码语言:javascript
复制
TypeError: $(...).lightGallery(...).destroy is not a function

我使用下面的插件播放视频和显示图片库https://github.com/sachinchoolur/lightGallery

我希望重新初始化lightGallery,因为我使用ajax在容器中动态添加元素。它在以前的lightGallery版本中运行得很好,但是它不能处理当前的版本。

我正在使用以下代码。

代码语言:javascript
复制
// destroy previous gallery
$("#lightGallery2").lightGallery({
  selector : '.image_gallery',
  videojs: true,
  download: false
}).destroy();

// re-initialize
$("#lightGallery2").lightGallery({
  selector: '.image_gallery',
  videojs: true,
  download: false
});

请建议一下。

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-06-20 18:47:24

以下代码适用于我:

代码语言:javascript
复制
$lg.on('onBeforeClose.lg',function(event, index, fromTouch, fromThumb){
    try{$lg.data('lightGallery').destroy(true);}catch(ex){};
});
票数 9
EN

Stack Overflow用户

发布于 2016-03-29 18:41:06

要销毁数据,您应该向库中添加数据属性,然后销毁它,例如,如果将图库应用于所有链接:

代码语言:javascript
复制
var myGallery = 'body',
    lightgallery = function() {
         $( myGallery ).attr('data-lightGallery', '1');
         $( myGallery ).lightGallery({selector: 'a[href$=".jpg"], a[href$=".jpeg"], a[href$=".png"], a[href$=".gif"]'});
    };

然后:

代码语言:javascript
复制
$( myGallery ).data('lightGallery').destroy(true);
lightgallery();
票数 1
EN

Stack Overflow用户

发布于 2015-09-18 11:19:36

如果它是像大多数插件/小部件一样编写的,那么您应该像下面这样调用破坏方法。

代码语言:javascript
复制
$("#lightGallery2").lightGallery("destroy");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32650578

复制
相关文章

相似问题

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