3

我有许多处理特殊逻辑的选项卡,因此不应发生位置栏地址更改。我有以下

<a href="#">Home</a>

这表现如预期,即当鼠标悬停在按钮上时它给了我手鼠标指针,但单击然后开始更改路线。我希望能够阻止这种情况。

我尝试删除hrefor 设置href="",似乎取得了一些成功,但在悬停时却给出了意想不到的结果。

这里的最佳做法是什么?我必须删除href吗?那么我需要使用 CSS 设置选项卡的样式,以便在悬停时给我鼠标指针?如果我确实将 留href="#"在链接中,那么这会导致路由更改,这不是我想要的。

我实际上在ngClick每个选项卡中处理我的登录。这个逻辑不能改变路由。

有任何想法吗?

4

3 回答 3

7

尝试做:

<a href="javascript:void(0);">Home</a>
于 2013-08-06T12:53:03.213 回答
3

如果你不使用<base>标签,你可以简单地使用:

<a href="">Home</a>

事实上,根据文档

href[...]属性为空时会阻止默认操作。

好吧,文档是错误的,真正的行为实际上是在href属性等于页面位置时阻止默认操作。这是你使用时的问题<base>。在这种情况下,您有两种选择:

  • 忘记href属性。这很好用,但是您的页面将不再有效,因为该href属性对于<a>标签是必需的。
  • 例如aEmpty,创建您自己的指令,其目标只是用 的当前值填充hrefreal 的属性。<a>$location.path()

在所有情况下,您最好实际使用 CSS 来设置链接样式,因为依赖浏览器的默认行为总是一个坏主意。

于 2013-08-06T13:20:53.253 回答
1

替换hrefng_click

要获取手鼠标指针,请添加 css 样式:

a { cursor: pointer ; }
a:hover   { color: #00c }  /* user hovers     */
于 2013-12-05T09:41:19.553 回答