这种类型的监听器不知道改怎么移除,描述不清,欢迎帮助改善问题描述,方便别人搜索 :)
drawerButton.addEventListener(
'click',this.drawerToggleHandler_.bind(this)
);
MaterialLayout.prototype.drawerToggleHandler_ = function(){
this.drawer_.classList.toggle(this.CssClasses_.IS_DRAWER_OPEN);
};
代码链接
var boundEvnetListener=this.drawerToggleHandler_.bind(this);
drawerButton.addEventListener('click', boundEvnetListener);
drawerButton.removeEventListener('click', boundEvnetListener);
var div = document.getElementById('div');
var listener = function (event) {
/* do something here */
};
div.addEventListener('click', listener, false);
div.removeEventListener('click', listener, false);
取消监听时要指定要取消的事件句柄。
@小_秦 能麻烦你帮忙看看么?
如下代码,new一个新的MaterialLayout对象,得到它的drawerButton,然后取消事件绑定
var materialLayout = new MaterialLayout(你要传入的element);
var drawerButton = materialLayout.element_.querySelector('.' + materialLayout.CssClasses_.DRAWER_BTN);
drawerButton.removeEventListener(
'click',materialLayout.drawerToggleHandler_.bind(materialLayout)
);