在没有给出destroy参数的情况下取消绑定jQuery插件

时间:2014-10-02 13:11:59

标签: javascript jquery html plugins sidr

我使用名为Sidr的插件来创建类似侧边栏的Facebook。它初衷为:

$('#menu_trigger').sidr({
    name: 'sidr-right',
    side: 'right'
});

问题是,我只想在特定的视口大小中产生这种效果。我知道很多jQuery插件都带有类似destroy参数的东西来卸载脚本。但是这个插件没有。

当触发特定的浏览器大小时,是否有人知道如何在#menu_trigger之后取消绑定此功能。 像:

enquire.register("screen and (max-width:560px)", {
  $('#menu_trigger').sidr({
    // unload, unbind
  });
}

由于

1 个答案:

答案 0 :(得分:0)

http://jsbin.com/bemimu/8/edit

您可以使用unbind并将插件引用传递给所选元素,然后在JavaScript中检查窗口大小。 $ .sidr(' close',' sidr-right');

JS:

function clickForSidr() {

var ww = document.body.clientWidth;

  if(ww < 560){

      if(sidrIsOpen){
        $.sidr('close', 'sidr-right');
      }else {
        $.sidr('open', 'sidr-right');
      }
        sidrIsOpen = !sidrIsOpen;
  }
};

var sidrIsOpen = false;

    $('.unbindme').on('click',function(){
     clickForSidr();
    });

MARKUP:

<div class="unbindme" >unbindme</div>