2

我不知道问题是否与 Angular 有关,或者我犯了一个错误。
我有一个<article id="about">, 链接<a href="#about">,我正在尝试使用

:target{
    border: solid 1px red;
}

当我单击链接时,文章应该有一个红色边框,不是吗?当我单击链接时,URL off course 更改/company/company#about但没有任何反应,我还使用 JQuery 在控制台中进行了检查,$(':target')它返回null.
我认为这可能与 Angular 相关,其中路由机制会干扰某些默认行为。我正在使用$locationProvider.html5Mode(true)Angular 1.1.4 和 Chrome26。
编辑:最后在这里得到了一个不工作的例子,它工作直到我注入 $location in app.run()

4

3 回答 3

1

只是猜测,但是:

我认为点击事件可能会返回“false”。也就是说,一些代码运行,默认的链接点击行为被覆盖。

尝试在一个空选项卡中输入页面 url,最后带有哈希。如果你的 :target css 在这种情况下工作,你就会知道这是一个 javascript 的东西。

也许框架添加了一个类或其他标识符,您可以轻松地设置它们的样式?或者,如果您检查 DOM,对它的引用存储在某个对象中,您可以使用 jQuery 对其进行样式设置?

于 2013-04-15T16:00:59.757 回答
1

这是由于浏览器错误:https ://bugs.webkit.org/show_bug.cgi?id=83490

另请参阅http://css-tricks.com/on-target/的最后一部分

于 2013-05-21T23:46:02.927 回答
0

如果您将 target="_self" 放在 a 标签中,只要启用 HTML5 模式,它将解决角度路由的问题。

于 2019-03-20T18:43:17.483 回答