Как предотвратить по умолчанию теги привязки с помощью ng-click

после поиска ответа здесь, к сожалению, у меня ничего не получилось. Так что я надеюсь, разместив мой код, вы сможете помочь... каждый раз, когда я нажимаю на одну из вкладок, страница подпрыгивает. как я могу предотвратить это? Я считаю, что это вызывает 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>

приложение.js:

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

person Tom    schedule 13.10.2015    source источник


Ответы (1)


Вы можете добавить $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>
person taxicala    schedule 13.10.2015
comment
Эй, спасибо за вашу помощь. Я попытался реализовать предложенный вами код, но, к сожалению, он все еще переходит в верхнюю часть страницы при каждом нажатии на эти ссылки... - person Tom; 14.10.2015