首页 > 解决方案 > Ember js #LinkTo 标记及其行为

问题描述

我有一个问题,当我从我的页面(LinkTo)中单击一个链接时,Ctrl + 单击它会打开一个新选项卡,但控件会转到 chrome 中的下一个选项卡,而在 IE 中,控件保持在同一页面中。我发现#linkTochrome 中的行为是不同的。任何人都可以帮忙吗?

尝试用锚标记替换,但路线在单击时不起作用

{{#linkTo "routename" "id"}}..{{/linkTo}}

标签: javascriptgoogle-chromeinternet-explorerember.js

解决方案


我花了一点时间才弄明白你在问什么,但我想我已经弄明白了

首先,我想指出,这种行为与 EmberJS 没有任何关系,并且 100% 是浏览器行为。您将在任何链接中看到此行为(无论它是否使用 JavaScript),但我将在下面详细解释。

因此,当我尝试在 Chrome 上重新创建您的行为时,我没有看到当我过去ctrl + click打开一个新标签时它没有自动切换到该标签。在与我的一位同事谈论此问题时,Chrome 中似乎有一个设置,您可以在其中更改此行为,所以也许您已经更改了该设置?您可以在Chrome 支持网站上查看有关此主题和相关问题的更多讨论。

所以我提到这不是 Ember 特定的问题,你会在任何网页上遇到这个问题,即使他们不使用 JavaScript。有趣的是,Ember 首先让您可以在新选项卡中打开,因为它非常关注 URL,如果您检查 Ember 应用程序上的页面,您会发现它实际上是<a href="/something">Your link here</a>在 DOM 中放置了一个有效元素,这意味着您将获得良好的行为,ctrl + click而不仅仅是在您的应用主页上打开一个新选项卡。


这个问题作为“我可以问一个问题”第 2 季第 1 集的一部分得到了回答。如果您希望看到我们完整地讨论这个答案,您可以在此处观看视频:https ://youtu.be/v1rBL5_KPqU


推荐阅读