【问题标题】:Is it possible to toggle a modal and open an URL in another tab at the same time when a link is clicked?单击链接时,是否可以同时切换模式并在另一个选项卡中打开 URL?
【发布时间】:2018-09-26 05:52:58
【问题描述】:

我有 4 个按钮(<a> 标签被风格化为按钮),对于这个问题只有两个重要:

  • 第一个在另一个选项卡中打开一个链接,该链接带有其各自的href 值和target="_blank" 属性。

  • 第二个切换模式,其中包含一些文本字段,以在第一个按钮中链接的 URL 处手动填充页面内的信息。

我想通过单击第二个按钮从第一个按钮打开相同的链接,但只显示模式,没有其他任何反应。

到目前为止,我已经尝试了以下选项:

选项 1. 为两个按钮设置 hreftarget 相同:

左键仅切换模式。滚轮单击在另一个选项卡中打开链接,但不显示模式。

<a class="btn btn-primary btn-sm" id="button-1" href="some_url" target="_blank">Btn 1</a>
<a class="btn btn-primary btn-sm" id="button-2" href="some_url" target="_blank" data-toggle="modal" data-target="#my-modal">Btn 2</a>

选项 2。使用 jQuery 代码从按钮 2 中单击按钮 1:

左键单击按钮 2 切换模式并单击按钮 1(我猜),因为打印的行显示在控制台上。

<a class="btn btn-primary btn-sm" id="button-1" href="some_url" target="_blank">Btn 1</a>
<a class="btn btn-primary btn-sm" id="button-2" data-toggle="modal" data-target="#my-modal">Btn 2</a>

$('#button-2').click(function(){
    $('#button-1').click();
});

$('#button-1').on('click', function(){
    console.log('Clicked ' + $(this).prop('id'));
});

【问题讨论】:

  • 不清楚你的目标是什么,进一步的解释会帮助我们。
  • 我的按钮 1 有一个 href 设置,比如维基百科页面。按钮 2 会打开一个模式,我将在其中手动粘贴(再次),维基百科页面的标题和第一段。我想要做的是切换模式并同时打开链接(如果有帮助,作为可用性快捷方式)。

标签: javascript jquery html bootstrap-4


【解决方案1】:

我想你正在使用引导程序。

$('#my-modal').on('show.bs.modal', function (e) {
  $('#button-1').trigger('click');
});

您将在此处模拟显示模式时的点击。 试一试,告诉我它是否有效

【讨论】:

  • 如果他使用BootStrap,他会将其添加为标签。
  • 是的,我正在使用引导程序。使用此解决方案,它似乎与我的选项 2 具有相同的行为。
  • @ths 是的,我正在使用,忘记添加相应的标签,抱歉。
  • 所以它没有在新标签页上打开链接?
【解决方案2】:

您需要避免链接的默认事件并设置您的自定义操作

var openPage = function (e) {
 e.preventDefault();
 window.open(e.target.href,e.target.target)
}

这里有一个使用 boostrap 的示例

Code-pen snipet

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 2022-07-30
    相关资源
    最近更新 更多