【问题标题】:How to define click event on click and href event when user opens a new tab用户打开新标签时如何在单击和href事件上定义单击事件
【发布时间】:2017-11-16 07:26:57
【问题描述】:

这是非常具体的要求,但想知道这是否可能。

我有一个标题菜单“创建报告”。我为此定义了“点击”事件。单击此菜单时,它会打开一个新模式,而不会更改路由。一旦用户在那里输入一些数据并单击提交,它会将路由更改为“/reports”并显示数据。

但是这种方法的问题是,当用户想在新标签中打开此链接(标题菜单创建报告)(右键单击并在新标签中打开)时,它不会打开任何东西..可能是新标签无法打开明白这一点。

一种解决方案是用 href 替换 click,所以我可以这样做,href="/report"。但是这样,一旦用户单击此链接,它就会将路线更改为“/report”,这是我不想要的。我想在用户提交报告时更改路由。

由于当前项目的一些技术限制,我无法使用 ng-click/ng-href。

希望我的问题很清楚,如果您知道解决方案或想了解更多信息,请告诉我。

【问题讨论】:

  • 请指定是否通过右键单击模态中的提交按钮打开新标签页?
  • "当用户想要打开这个链接" .. 哪个链接?
  • @CharlieH 我更新了我的问题。我的意思是从标题菜单中“创建报告”。
  • Ok."Opens a new modal" 这是什么意思?你用的是什么角度的版本?
  • 这意味着,它打开了一个旁观模式..(填写一些数据的表格)。我使用角度 1.7

标签: javascript html angularjs angular-ui-router


【解决方案1】:

从 modal 提交报告时,通过 ajax 发送用户提交的数据并将数据保存在会话中。然后根据该数据创建报告。 数据进入会话后,您也可以在新标签中创建报告。

【讨论】:

  • 对不起..我的问题对你来说不清楚..我只想打开模式..当用户从标题菜单中单击报告链接而不更改路线时。 (在同一选项卡中或使用鼠标,在其他选项卡中打开链接)。在同一个标​​签中,它工作正常.. 但在新标签中.. 它不起作用。
【解决方案2】:

我不确定是否正确理解了您,但您可以通过在模式窗口中将提交按钮替换为链接和嵌套按钮来实现此效果。像这样:

<a href="/report" target="_parent">
    <button onclick="form.submit()">Submit</button>
</a>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 2014-05-26
    • 2021-11-26
    • 2016-11-01
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多