ng-style禁用pointerEvents

时间:2015-09-17 07:32:36

标签: javascript angularjs

我尝试使用

禁用a-href
var style ={};
style.zIndex = '10';
style.background = 'rgba(192,192,192,0.3)';
style.height= '100%';
style.top= '0';
style.left= '0';
style.right= '0';
style.pointerEvents = 'none';
return style;

在控制器端。

Html方面:

<a href="#/tab/cases/case-detail/{{case.itemDetails.ID}}">
    <div style="width:80%; float:left;">
<table ng-init="sloppy = case" ng-style="calculateStyle(sloppy)">
    <tr>
        <td><strong>Item Code: </strong></td>
        <td style="padding:3px">{{case.itemDetails.itemCode}}</td>
    </tr>   
    </table>

</div>
</a>

目前,叠加层有效但指针事件不起作用。

我使用angular-js ng-style来做到这一点。我是错误地做错了还是我使用了错误的方法?还有其他方法可以禁用a-href吗?

2 个答案:

答案 0 :(得分:2)

您需要将ng样式添加到锚标记中,并确保样式具有范围。

HTML:

sum(W*X)=N

控制器:

<a href="{{myLink}}" ng-style="style">Link to Disable</a>

答案 1 :(得分:2)

ng-style属性需要位于a元素上以禁用它,而不是table元素。

这是一个工作小提琴:http://jsfiddle.net/6vypnv9r/

HTML:

<div ng-app="app">
    <div ng-controller="myCtrl">
        <a href="#" onclick="alert('1')" ng-style="style">click</a>
    </div>
</div>

JS:

angular.module('app',[]).controller('myCtrl',['$scope',function($scope){
    $scope.style ={};
    $scope.style.zIndex = '10';
    $scope.style.background = 'rgba(192,192,192,0.3)';
    $scope.style.height= '100%';
    $scope.style.top= '0';
    $scope.style.left= '0';
    $scope.style.right= '0';
    $scope.style.pointerEvents = 'none';
}]);