onclick=“"在<a></a>标签获胜'不起作用——我错过了什么

Function for onclick=" " in <a></a> tag won't work - what am I missing?

本文关键字:lt gt 不起作用 错过了 什么 获胜 quot onclick 标签      更新时间:2023-09-26

我想根据特定条件禁用链接。现在,我只是在摆弄script/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",这样我就可以将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社区!

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

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

您说要在特定条件下禁用url。你为什么不使用ng残疾人?例如

HTML格式;

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

在JS中;

    $scope.condition = false;
    $scope.someFunction = function(){
        if(condition){
          open {{attachment.url}}
        }else{
          $scope.condition = true;
        }
    }