理解插件销毁功能

时间:2015-06-08 10:16:20

标签: javascript jquery jquery-plugins

嘿伙计们我对js和jquery一般都是新手,我只是通过一个图库插件的插件代码,我可以跨越名为_loadevents的函数,它具有以下内容,见下文:

this.$navPrev.on('click.gallery', function (event) {


});

this.$navNext.on('click.gallery', function (event) {


});

this.$wrapper.on('webkitTransitionEnd.gallery transitionend.gallery OTransitionEnd.gallery', function (event) {


});

现在$navPrev$navNext$wrapper显然是一些HTML元素,现在我的问题是关于我在同一个插件中遇到的另一种方法,如下所示:

destroy: function () {

    // console.log('inside destroy');

    this.$navPrev.off('.gallery');
    this.$navNext.off('.gallery');
    this.$wrapper.off('.gallery');

}

现在我看到如果调用此函数,将取消所有事件处理程序。现在,有人可以告诉我这样一个功能的必要性,它是否提高了插件的效率?如何或何时使用这样的函数,为插件中的事件编写e destroy函数是一种常见的做法吗?

谢谢。

Alex-z。

1 个答案:

答案 0 :(得分:1)

在插件中销毁函数使开发人员能够重置或从元素中删除插件,在插件初始化之前将元素恢复到。例如,如果您有一个可在桌面上运行且看起来很棒的图库插件,但您不希望它在移动设备上,则此功能非常有用。您可以在resize上收听window事件,如果窗口大小小于710px然后destroy插件。这将删除所有添加的事件,撤消任何DOM操作,并将html元素恢复到插件首次初始化之前的状态(转向,如果窗口大小大于710px,则初始化插件)。 p>

他们通常被认为是良好的做法。