AngularJS:ng-click在Firefox中工作但不在chrome中工作

时间:2018-01-08 17:36:48

标签: javascript html angularjs google-chrome

您好我尝试使用ng-click将点击事件绑定到控制器中的某个功能。它在Firefox中运行良好,但在chrome中没有任何反应。当我看到控制台时,没有出现错误。

这是我的html

<div ng-controller="localTripsCreatorController" ng-switch="currentPage">
<div ng-switch-when="generalInfo">
    <!--first page-->
</div>

<div ng-switch-when="program">
    <!--second page-->
</div>
<div>
    <button ng-click="previous()" class="btn btn-normal">Précédant</button>
    <button ng-click="next()" class="btn btn-normal" style="float: right">Suivant</button>
</div>

这是我的javascript

dashboardApp.controller('localTripsCreatorController',function($scope){

console.log("I'm outside click event");

$scope.next = function(){
    console.log("I'm inisde click event");

}

$scope.previous = function(){
    console.log("I'm inisde click event");
}
})

我的ng-app之前已经宣布,我只会在控制台中打印I'm outside click event。 基本上我要做的就是使用AngularJS创建一个向导。

所以任何想法为什么这适用于Firefox而不是Chrome?

1 个答案:

答案 0 :(得分:0)

您的按钮div未与控制器正确绑定。

<div ng-controller="localTripsCreatorController" ng-switch="currentPage">
    <div ng-switch-when="generalInfo">
        <!--first page-->
    </div>

    <div ng-switch-when="program">
        <!--second page-->
    </div>
    <div>
        <button ng-click="previous()" class="btn btn-normal">Précédant</button>
        <button ng-click="next()" class="btn btn-normal" style="float: right">Suivant</button>
    </div>
</div>

如果绑定正确,请尝试绕过该问题;你可以创建一个div,将它设置为看起来像一个按钮,然后在div中保留单独的span标签和click事件。

<div class="styleLikeButton" >
<a ng-click="previous()" class="btn btn-normal" > Précédant </a>
<a ng-click="next()" class="btn btn-normal" style="float: right"> Suivant </span>
</div>

^^这可以跨浏览器工作,并且仍然保留你的&#34;按钮&#34;运作。