假设我有一个锚标记,比如

<a href="#" ng-click="do()">Click</a>

如何防止浏览器在AngularJS中导航到# ?


当前回答

另一种可能是:

<span ng-click="do()">Click</span>

其他回答

您可以执行以下操作

1.从锚(a)标签中删除href属性

2.将css中的指针指针设置为ng click元素

 [ng-click],
 [data-ng-click],
 [x-ng-click] {
     cursor: pointer;
 }

避免href上的事件最安全的方法是将其定义为

<a href="javascript:void(0)" ....>
/* NG CLICK PREVENT DEFAULT */

app.directive('ngClick', function () {
    return {
        link: function (scope, element, attributes) {
            element.click(function (event) {
                event.preventDefault();
                event.stopPropagation();
            });
        }
    };
});

我一直都是这么做的。效果好极了!

<a href ng-click="do()">Click</a>

试试这个选项,我可以看到上面还没有列出:

<a href="" ng-click="do()">Click</a>