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

Javascript TypeError:$(…).lightGallery(…).destroy不是函数,javascript,jquery,lightgallery,Javascript,Jquery,Lightgallery,我从firefox收到此错误: TypeError: $(...).lightGallery(...).destroy is not a function 我使用以下插件播放视频和显示图像库 我想重新初始化lightGallery,因为我正在使用ajax在容器中动态添加元素。它与lightGallery的早期版本配合良好,但与当前版本不配合 我正在使用以下代码 // destroy previous gallery $("#lightGallery2").lightGallery({ s

我从firefox收到此错误:

TypeError: $(...).lightGallery(...).destroy is not a function
我使用以下插件播放视频和显示图像库

我想重新初始化lightGallery,因为我正在使用ajax在容器中动态添加元素。它与lightGallery的早期版本配合良好,但与当前版本不配合

我正在使用以下代码

// destroy previous gallery
$("#lightGallery2").lightGallery({
  selector : '.image_gallery',
  videojs: true,
  download: false
}).destroy();

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


谢谢

如果它像大多数插件/小部件一样编写,那么您应该像这样调用destroy方法

$("#lightGallery2").lightGallery("destroy");

您必须使用以下方法销毁lightgallery 1.2.x版

var $lg = $('#lightGallery2');

$lg.lightGallery({
  selector : '.image_gallery',
  videojs: true,
  download: false
});

$lg.data('lightGallery').destroy(true);

以下是销毁数据的

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

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"]'});
    };
然后:

$( myGallery ).data('lightGallery').destroy(true);
lightgallery();

以下代码适用于我:

$lg.on('onBeforeClose.lg',function(event, index, fromTouch, fromThumb){
    try{$lg.data('lightGallery').destroy(true);}catch(ex){};
});

记录一个bug,如果你认为它是一个:嗨,谢谢你的回复。但它仍然不工作,它显示以下错误。TypeError:$lg.data(…)未定义2这方面对我很重要,您必须通过数据属性包
$(“#lightGallery2”).data('lightGallery')
,我必须将true作为参数传递给destroy=>
$(“#lightGallery2”).data('lightGallery2').destroy(true)