Javascript 角度:从js添加ngClick
我正在为移动设备开发一个小型网页。 我想切换整个页面的点击监听器,如Javascript 角度:从js添加ngClick,javascript,angularjs,addeventlistener,angularjs-ng-click,Javascript,Angularjs,Addeventlistener,Angularjs Ng Click,我正在为移动设备开发一个小型网页。 我想切换整个页面的点击监听器,如 $('.page').on('click',...); $('.page').off('click',...); 但在角度上。我不想在某些条件下使用ng Click,因为大多数情况下,Click不应该工作,它只是用于错误处理。是否可能,或者我需要使用纯js/jQuery 面板HTML: <div class="alert error" ng-show="errorMessage"> <div cla
$('.page').on('click',...);
$('.page').off('click',...);
但在角度上。我不想在某些条件下使用ng Click
,因为大多数情况下,Click不应该工作,它只是用于错误处理。是否可能,或者我需要使用纯js/jQuery
面板HTML:
<div class="alert error" ng-show="errorMessage">
<div class="alert-text">{{ errorMessage }}</div>
</div>
{{errorMessage}}
您可以添加一个$scope变量,如果“允许”单击该变量,则可以跟踪该变量。然后你可以做这样的事情
<div ng-click="isDisabled || yourAction()"></div>
我创建了一个指令:
- 它应与
一起使用ngIf
应指作用域上的可分配变量ngIf
- 例如,不要这样做:
或ngif='myFunc()'
ngif='var1 | | var2'
app.directive('errorBox', function($document, $parse){
return {
link: function(scope,elm,attrs) {
var clickHandler = function(){
scope.$apply(function(){
$parse(attrs.ngIf).assign(scope.$parent,'')
})
$document.off('click', clickHandler);
};
$document.on('click', clickHandler)
}
}
});
<div ng-if="errorMessage" error-box class="alert error">
<div class="alert-text">{{ errorMessage }}</div>
</div>
html:
app.directive('errorBox', function($document, $parse){
return {
link: function(scope,elm,attrs) {
var clickHandler = function(){
scope.$apply(function(){
$parse(attrs.ngIf).assign(scope.$parent,'')
})
$document.off('click', clickHandler);
};
$document.on('click', clickHandler)
}
}
});
<div ng-if="errorMessage" error-box class="alert error">
<div class="alert-text">{{ errorMessage }}</div>
</div>
{{errorMessage}}
在什么情况下需要绑定/解除绑定事件侦听器?如果发生错误,则会显示带有错误说明的面板,并单击“应绑定侦听器”。单击后,面板将消失,事件应解除绑定。因此,这是仅与此面板相关的内容。你能显示这个面板的标记吗?当然,如果它只与面板相关,我会点击这个面板。但我有一个要求,关闭面板后,点击页面中的任何地方只是显示您的面板html