如何在给定条件下禁用href
How to disable an href given a condition?
我有一个链接,需要根据用户的权限禁用它。以下是链接的htmn:
<div ng-repeat="userAgreement in journalist.userAgreements">
<div class="row" ng-repeat="attachment in userAgreement.attachments">
<div class="col-sm-12" style="color: #2a98d4">
<ul style="margin-bottom: 0px; padding-left: 1.5em;">
<li class="fa fa-check-circle" style="font-size: 1.1em; margin: 3px;">
<a target="_blank" href="{{attachment.url}}" ng-click="agreementPermission($event)" class="cursor-pointer" style="font-family: FranklinITCProLight">{{getAttachmentName(userAgreement.agreement, attachment)}}</a>
</li>
</ul>
</div>
</div>
</div>
<div ng-show="!hasAttachments">
<div class="col-sm-12" style="color: #2a98d4">
<ln code="journalist.completed.documents.empty" args=""></ln>
</div>
</div>
</div>
(ng-click
不工作(
以下是该文件的js指令:
define(["app"], function (app) {
return app.directive('completedAgreements',[
function () {
return {
restrict: 'E',
templateUrl: '/directives/completed-agreements.html',
link: function ($scope, elm, attrs) {
$scope.hasAttachments = false;
$scope.getAttachmentName = function(agreement, attachment) {
$scope.hasAttachments = true;
if(attachment.templateId) {
return attachment.name;
} else {
if(agreement.type == 'DIRECT_DEPOSIT') {
return "Payment Documents"
} else {
var specialization = agreement.specialisation.toLowerCase();
return specialization.charAt(0).toUpperCase() + specialization.slice(1) + " Agreement";
}
}
}
}
};
}
])
});
ng点击中的功能:
$scope.agreementPermission = function(e) {
if (!SecurityService.canViewAgreements()) {
showError($uibModal, "You do not have permission to access this attachment. Please contact an administrator.", null, null, null, null, "Access Denied");
e.preventDefault();
}
};
由于我是javascript的新手,我不确定这个函数是否在正确的位置。它是另一个控制器文件,应该在html的js指令中吗?因此,基本上,当没有权限的用户单击链接时,会触发showError框,如果他们确实有权限,则页面会重定向到该链接。如有任何建议,我们将不胜感激!如果我应该提供更多信息,请告诉我!:-(
a.disable{
pointer-events: none;
}
<!--You can add css class to disable the link (anchor), example: -->
<a ng-class="{'disable': isAvailable(product.id)}">see product</a>
将标签<a>
标签重写为<a disabled>
参见http://www.w3schools.com/tags/ref_attributes.asp
它也应该可以通过javascript作为对象进行编辑。寻找类似的东西:
object = document.getElementById("MyElem");
object.disabled = true;
或
object.active = false;
使用按钮而不是链接。给它CSS class="btn-btn链接"(引导(。点击时调用agreementPermission函数。
onclick="onClickFunc(event, {{ element.id or class }})"
function onClickFunc(event, somedata) {
event.preventDefault(); // Stops the default behavior
// ...
}
//event.prventDefault((;停止链接的默认行为。
相关文章:
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 在特定条件下从存储在localStorage中的阵列中删除对象
- 如何在一定条件下使必填字段为真
- 如何在特定条件下完全禁用FullPage.js
- 在条件下使用 slideUp() 和 slideDown()
- 停止计算以在特定条件下更新
- 如何加载特定天气条件下的图标?(AngularJS)
- 比较IF条件下的两个javascript数值
- ComboBox typeAhead有效,但在某些行为条件下valueField为空
- 返回三元条件下的新promise Q
- jqgrid在条件下动态设置单元格可编辑false
- innerHTML在else条件下未更改
- 如何在两种条件下显示相同的上下文菜单项
- Regex用于在特定条件下为新句子添加空格或句号
- HTML页面在使用JavaScript的条件下重新加载
- 保持函数在一定条件下执行
- 在不同条件下显示变量的不同值
- 我如何才能在某些条件下更改c#中谷歌地图标记的图标
- 是否可以防止在特定条件下从Href更改页面
- 如何在给定条件下禁用href