[英]In an Angular directive, how do you reapply an event listener after the event has been removed?
這可能是由於我缺乏Angular知識而導致的,如果是這樣,請事先諒解。
在Angular中,假設我有一條指令綁定到元素作為屬性。
<div my-directive></div>
在指令中,我有一個click事件,它將刪除click事件本身。
app.directive("myDirective", function() {
return {
link: function(scope, ele, attr, ctrl) {
ele.on("click", function() {
ele.off("click");
console.log("Click event removed");
});
}
}
});
我想再次將此指令的click事件設置到同一div上(例如,單擊按鈕后)。 我該如何完成?
您可以像這樣使用-
app.directive("myDirective", function() {
return {
link: function(scope, ele, attr, ctrl) {
ele.on("click", function() {
ele.unbind("click");
console.log("Click event removed");
angular.element(ele).bind("click");
});
}
}
});
app.directive("myDirective", function() {
return {
link: function(scope, ele, attr, ctrl) {
ele.on("click", function() {
angular.element(ele).off('click');
console.log("Click event removed");
});
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.