我得到了这样的东西,它按预期工作:
$document.on('click', this.clickHandler.bind(this));
如果没有bind(this)
,clickHandler
中的this
将指向文档对象,所以这就是我把它放在那里的原因。然而,当我试图解除绑定时,它的行为不正确。我尝试过以下操作:
$document.off('click', this.clickHandler);
$document.off('click', this.clickHandler.bind(this));
$document.unbind('click', this.clickHandler);
没有一个像我期望的那样工作。我想从$document
中删除特定的单击事件处理程序(及其this
上下文)。例如,我想在$scope.$destroy
中做到这一点。
我可以使用它:
$document.off('click', this.clickHandler).unbind();