首页 > 清除监听器 remove EventListener

清除监听器 remove EventListener

这种类型的监听器不知道改怎么移除,描述不清,欢迎帮助改善问题描述,方便别人搜索 :)

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)
);
【热门文章】
【热门文章】