ng-click = checkPhoneError()不会被调用

时间:2017-03-12 05:47:28

标签: html angularjs

我是新手并继承了这段代码。当我单击Call按钮时,checkPhoneError()不会被调用。这里缺少什么?谢谢

    <ion-nav-title>Status: {{name}}
        <a href="{{::getPhoneNumber()}}" class="blue" ng-show="::showCallButton">
            <div id="callArea"
                class="button"
                ng-class="::getCallButtonColor()">
                Call
            </div>
        </a>
        <div id="buttonOverlay" ng-click="checkPhoneError()"></div>
    </ion-nav-title>

这是控制器代码。因此,当点击呼叫按钮时,我希望打破这个功能:

    $scope.checkPhoneError = function () {
      if (phoneNumberError) {
        displayError();
        $fileLogger.log("error", "There is no phone number for " + analysis.name);
      }
      else if ($scope.alertLevel != '') {
        PaymentService.call(analysis.name, $scope.alertLevel);
      }
    };

对不起我也应该添加这个,我没有意识到人们需要什么才能获得完整的上下文。这是CSS文件中按钮的大小。是的我可以点击,控制器会进入手机,我可以拨打电话。我想要的是知道电话已经发生了。 BTW这是在Android手机上运行的cordova / ionic应用程序:

#buttonOverlay {
  position: absolute;
  height: 100%;
  width: 60px;
  right: 0;
  top: 0;
  padding-top: 3px;
  opacity: 0;
}

我用Google搜索并得到一些暗示并尝试了这一点。现在我可以进入我的功能,但是调用按钮没有显示:(。但是当我在那里悬停时,光标变为现场(成为一只手),我可以点击执行中断到我的功能,现在只有当我能看到通话时按钮。

<ion-nav-title>Status: {{name}}
    <div id="buttonOverlay" ng-click="checkPhoneError()">
        <a href="{{::getPhoneNumber()}}" class="blue" ng-show="::showCallButton">
            <div id="callArea"
                class="button"
                ng-class="::getCallButtonColor()">
                Call
            </div>
        </a>
    </div>
</ion-nav-title>

最后,我感谢谷歌!这是工作代码。所以发生的事情是a-tag将设置链接并使其自动可点击。所以默认的ng-click是屏蔽我的ng-click。我所要做的就是用自己的方式覆盖默认的ng-click。

<ion-nav-title>Status: {{name}}
    <a href="{{::getPhoneNumber()}}" class="blue" ng-click="checkPhoneError()" ng-show="::showCallButton">
        <div id="callArea"
            class="button"
            ng-class="::getCallButtonColor()">
            Call
        </div>
    </a>
    <div id="buttonOverlay" ></div>
</ion-nav-title>

1 个答案:

答案 0 :(得分:0)

最后,我感谢谷歌!这是工作代码。所以发生的事情是a-tag将设置链接并使其自动可点击。所以默认的ng-click是屏蔽我的ng-click。我所要做的就是用自己的方式覆盖默认的ng-click。

<ion-nav-title>Status: {{name}}
    <a href="{{::getPhoneNumber()}}" class="blue" ng-click="checkPhoneError()" ng-show="::showCallButton">
        <div id="callArea"
            class="button"
            ng-class="::getCallButtonColor()">
            Call
        </div>
    </a>
    <div id="buttonOverlay" ></div>
</ion-nav-title>