我试图阻止 twitter 引导工具提示在元素被禁用时显示。我可以使用以下代码来做到这一点:
app.directive("tooltip",function(){
return {
restrict:"A",
require: 'tooltipDirection',
link:function(scope,element,attrs,directionController){
attrs.$observe('ngDisabled',function(){
console.log("ngDisabled has changed: " + attrs.ngDisabled);
});
if(scope.$eval(attrs.ngDisabled)!=true){
$(element).attr('title',attrs.tooltip).tooltip({placement:directionController.direction});
}
}
};
});
但是,这仅在页面加载并且元素已被禁用时才有效。我需要一种动态禁用工具提示的方法。例如,如果我单击更改范围变量 (editing_bln) 值的按钮 (edit),则第二个按钮按钮 (save) 通过 ngDisabled 和范围变量 editor_bln 变为禁用。我现在也希望禁用工具提示 - 但事实并非如此。我尝试在链接函数中使用 attrs.$observe,但是,它也在页面加载时被调用,而不是在变量 editor_bln 更改时被调用。这是按钮代码:
<button type="button" ng-class="{'btn-danger':editing_bln}" class="btn btn-mini" style="margin-top:10px;margin-left:20px;" ng-click="editing_bln = !editing_bln"><i tooltip-direction="top" tooltip="Click to Edit Content" ng-class="{'icon-white':editing_bln}" class="icon-pencil"></i></button>
<button ng-disabled="editing_bln" type="button" class="btn btn-mini" style="margin-top:10px;" ng-click="responseAdd()"><i tooltip-direction="top" tooltip="Add response to group." class="icon-plus"></i></button>
我猜我错过了链接功能中的标记。感谢您的所有回复。