如何使用ng-click防止对锚标记的默认

时间:2015-10-13 15:19:51

标签: angularjs angularjs-ng-click preventdefault

在这里寻找答案之后,遗憾的是没有什么对我有用。因此,我希望通过发布我的代码,您将能够提供帮助...每次单击其中一个选项卡时,页面都会跳起来。我该如何防止它发生?我相信ng-click导致它,因为常规的jquery preventDefault()没有完成这项工作:

HTML:

        <ul id="tabs" class="nav nav-pills">
            <li><a class="scroll" ng-click="myCtrl.tab=1">New York</a></li>
            <li><a class="scroll" ng-click="myCtrl.tab=2">Montreal</a></li>
            <li><a class="scroll" ng-click="myCtrl.tab=3">Rockey Mountains</a></li>
        </ul>

app.js:

(function() {
    var app = angular.module('myApp', []);
        app.controller('myController', function() {
        this.tab = 1;   
    });
})();

1 个答案:

答案 0 :(得分:4)

您可以将$event.preventDefault()添加到ng-click指令:

<ul id="tabs" class="nav nav-pills">
    <li><a class="scroll" ng-click="myCtrl.tab=1; $event.preventDefault();">New York</a></li>
    <li><a class="scroll" ng-click="myCtrl.tab=2; $event.preventDefault();">Montreal</a></li>
    <li><a class="scroll" ng-click="myCtrl.tab=3; $event.preventDefault();">Rockey Mountains</a></li>
</ul>