onclick的功能=&#34; &#34;在<a></a>标签中没有工作 - 我错过了什么?

时间:2016-07-19 17:37:25

标签: javascript html angularjs

我想根据特定条件禁用链接。现在,我刚刚搞乱脚本/ html,看看一切是如何协同工作的。

我发现以下代码没有工作,我不知道为什么 -

HTML:

<a target="_blank" href="{{attachment.url}}" class="btn btn-link">{{attachment.name}}</a>

JS:

$scope.agreementPermission = function() {
    return false;
};

这似乎是禁用href的传统方式,但由于某种原因链接仍然可以点击并打开页面。

以下 工作:

<a target="_blank" href="{{attachment.url}}" onclick="return false" class="btn btn-link">{{attachment.name}}</a>

也许这会更容易 - 我想知道如何配置实体&attachment; url&#39;这样我就可以将href引用到某个函数中,如下所示:

<a target="_blank" href="javascript: agreementPermission()" onclick="return agreementPermission()" class="btn btn-link">{{attachment.name}}</a>

JS:

$scope.agreementPermission = function() {
     if (someCondition) 
       open {{attachment.url}}; //I know this is not correct/allowed
}

我错过了什么?还有什么建议?谢谢SO社区!

2 个答案:

答案 0 :(得分:1)

使用ng-href仅在需要时包含网址:

<a target="_blank" 
   ng-href="{{someCondition ? attachment.url : ''}}" 
   class="btn btn-link">{{attachment.name}}</a>

答案 1 :(得分:1)

您说要禁用具有特定条件的网址。为什么不使用ng-disabled?例如;

HTML中的

;

YES
JS中的

;

<a target="_blank" href="{{attachment.url}}" ng-disabled="condition" onclick="someFunction()" class="btn btn-link">{{attachment.name}}</a>