Angular DOM 事件命名空间

Angular DOM event namespace

如何在 AngularJS 中命名我的 DOM 事件?

我有一些在文档上绑定鼠标事件的指令:

$document.on('mousemove');
$document.on('mouseup');

在 mouseup 之后我做了:

$document.off('mousemove');
$document.off('mouseup');

然后其他一些指令不起作用,因为事件被销毁了。

在 Angular 的 angular.element 文档中写道:

on() — Does not support namespaces, selectors or eventData

好吧,但我想我需要 event namespaces 来定位要删除的事件。那么,我该怎么办呢?

即使 jqLit​​e 不支持名称空间(目前至少),您始终可以使用带有 handler 参数的 .off() 来指定您应该删除哪个侦听器。例如:

function mouseMoveHandler() {
  // do some stuff
}
$document.on('mousemove', mouseMoveHandler);
// ... and later on
$document.off('mousemove', mouseMoveHandler);