链接仅触发单击操作,但在新选项卡上打开不同的路径单击

Céc*_*lle 5 javascript ember.js

我想实现以下内容:

  • 首先,放一个链接.
  • 单击时,此链接应触发当前路径中的操作(即折叠面板或类似的东西)

  • 当用户右键单击并选择"新选项卡"时,此相同的链接应该打开一个单独的路径(并且也不会触发当前路径中的任何操作,因为它无论如何都没有意义)

到目前为止,我已经尝试了以下内容:

<span {{action 'collapsePanel'}}>
  {{#link-to 'otherRoute'}}
    Some text
  {{/link-to}}
</span>
Run Code Online (Sandbox Code Playgroud)

我希望通过将其封装在可点击的范围内来覆盖默认的链接行为,但无济于事:现在当我点击链接文本时,我被重定向到新路由并且点击操作本身永远不会发生.

有可能实现类似使用EmberJS或甚至简单的JS调整的东西吗?

谢谢!

Céc*_*lle 2

好的,谢谢同事,我解决了这个问题。这段代码完全按照我的预期工作:

\n\n
{{#link-to "otherRoute"}}\n    <span {{action\xc2\xa0"collapsePanel" bubbles=false}}>\n        Some text\n    </span>\n{{/link-to}}\n
Run Code Online (Sandbox Code Playgroud)\n\n

关键是设置“bubbles=false”,这可以防止该操作接管链接行为,但仍然允许单击来触发它。

\n