javascript - Snap.js移动面板插件添加 `destroy`方法

标签 javascript jquery jquery-mobile

如何将destroy 方法添加到Snap.js移动面板?如果只是简单地删除它设置的数据/引用,那么最好的方法是什么?

https://rawgit.com/jakiestfu/Snap.js/v2.0.0-rc1/src/snap.js

基本上,在 jQuery Mobile page change 上重新初始化之前,我需要能够将其关闭-- 否则它只会在第一页上工作:

http://jsfiddle.net/frank_o/L3dkmkrx/1/

最佳答案

下面的代码克隆Snap Panel,将它放在当前页面之前,然后在pagecontainershow初始化它。

$(document).on("pagecontainershow", function (e, data) {

    var drawer = $(".snap-drawers").clone(); /* clone */
    $(".snap-drawers").remove();             /* remove */
    $(data.toPage).before(drawer);           /* place it before page */
    var snapper = new Snap({                
        element: $(data.toPage)[0]           /* initialize it */
    });

    $('.open-panel')                         
        .off("click")                       /* remove previous click listener */      
        .on("click", function () {          /* re-bind click */
        snapper.open('left');
    });

    $('.close')                             
        .off("click")                       /* remove previous click listener */  
        .on('click', function () {          /* re-bind click */
        snapper.close();
    });
});

Demo - Code

关于javascript - Snap.js移动面板插件添加 `destroy`方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26288666/

相关文章:

javascript - 如何将一系列元素的宽度设置为div之前的图像宽度

jquery - HTML "Dropdown Menu"- 点击切换

css - jQuery Mobile - 保持布局网格垂直对齐

javascript - 在其他 TextField Jquery Mobile 的基础上启用 TextField

javascript - 将变量从 vb net 传递到 JavaScript

javascript - React Native 不识别静态变量

javascript - jQuery tablesorter - 从排序器/过滤器中隐藏特定的表格内容

javascript - 如何正确导入 javascript 函数并将其用于 node.js 脚本?

javascript - 我如何用太多的嵌套函数优化这段代码?

javascript - JQuery Mobile `showPageLoadingMsg` 未按预期工作