[英]AngularJS directive $document click event is firing for all instances everytime
我想在文档中附加一个事件。 单击文档时,我想删除我的指令元素。 但它也为所有过去的实例开火。
以下是代码:
link: function(scope, iElement, iAttrs) {
$document.on('click',function(){
iElement.slideUp('fast',function(){
$(this).remove();
});
});
}
尝试删除destroy handelr中的处理程序
link: function (scope, iElement, iAttrs) {
function handler() {
iElement.slideUp('fast', function () {
$(this).remove();
});
}
$document.on('click', handler);
scope.$on('$destroy', function () {
$document.off('click', handler);
})
}
当你添加像这样的jQuery事件时,即使在指令被销毁之后,事件也会保持活跃状态。 你必须特别关闭这个事件:
link: function(scope, iElement, iAttrs) {
$document.on('click',function(){
iElement.slideUp('fast',function(){
$(this).remove();
$document.off('click');
});
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.