我已经获得了一个指令,该指令对导致foo
的图像有一个特殊处理程序error
。 foo
使用默认图片更新错误图像的来源。它的绑定如下:
element0.bind('error', foo);
问题是,如果默认图像源导致错误,则foo
被无限调用。
有没有办法在调用一次之后终止绑定?除此之外,我已经尝试了
foo
.bind()
有什么想法吗?我可能会重新设计这个问题,但问题仍然存在。
答案 0 :(得分:3)
element0.unbind('error', foo);
这个答案特定于jQuery,但对于Angular jqLite也是如此。
至于jQuery,bind
和unbind
已过时,支持on
和off
。
反对在Angular中使用jQuery的参数适用于这种情况。最好坚持使用范围事件:
var errorListener = $scope.$on('error', foo);
使用
删除侦听器errorListener();