当前位置: 首页 > 知识库问答 >
问题:

如何检查一个链接是否被点击然后关闭一个模式

宿文栋
2023-03-14

我有一个函数,它打开一个模式,并根据如下条件在对话框中显示错误消息

  Error: function (ex, context) {
       
        var current = $(".Capture[dataid=" + context + "]");
          current.addClass('error');
       if(ex)
       var link='http://localhost/test'
        current.append(`<div class="error">please click on the link <a href = "${link}">Details</a></div>`);

    },

因此,正如您所看到的,我添加了一个要显示在对话框上的链接,但我如何确定用户何时点击了该链接?然后我希望它调用一个按钮点击

<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"><div class="ui-dialog-buttonset"><button type="button">Close</button></div></div>

以便最终调用对话框关闭选项

 $(dialog).dialog({
                    modal: true,
                    closeOnEscape: false,
                    dialogClass: "noClose",
                    height: $(window).height() * 0.8,
                    buttons: {
                        "Close": function () {
                            $(this).dialog("close");
                        }
                    },
                    close: function (event) {
                       //does something in here
                       
                    },
                   
                });

所以基本上,当一个链接被点击时,它会将你重定向到那个页面,并为你关闭对话框。

共有2个答案

百里海超
2023-03-14

如果我正确地得到了你想要的-试试这个:

$('a').on('click', (e) => 
   { 
      e.preventDefault();
      $('button')[0].click();
   });
广亮
2023-03-14

您可以在a标记上写入click事件,因此每当单击此标记时,获取a标记的href,然后使用.trigger('click')触发关闭按钮上的click事件,并最终重定向到所需的页面。

演示代码:

null

$("#dialog").dialog({
  modal: true,
  closeOnEscape: false,
  dialogClass: "noClose",
  height: $(window).height() * 0.8,
  buttons: {
    "Close": function() {
      $(this).dialog("close");
      console.log(" I am in")
    }
  },
  close: function(event) {
    //does something in here

  },

});

//on click of a tag
$(document).on("click", ".error a", function(e) {
  e.preventDefault();
  var href = $(this).attr("href") //get href
  $(".ui-dialog-buttonset button").trigger('click'); //trigger click event on close button
  window.location.href = href;
})
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
Here is dialog.
<div id="dialog" title="Basic dialog">
  <div class="error">please click on the link
    <a href="google.com">Details</a>
  </div>
</div>
 类似资料:
  • 我刚开始玩硒,我正在寻找一些帮助。在我试图测试的网页上,我有一个搜索按钮,当页面加载时,我有一个html表,显示在它下面的结果。 搜索结果表的html如下所示... 使用selenium IDE,我能够创建一个junit测试来执行屏幕快照中的搜索,但我很难找到如何修改单元测试,以便正确地等待搜索完成,然后在页面上返回结果后,单击搜索结果表第一行中的第一项。

  • 我正在做一个网络抓取,我可以在一个特定的链接中获取信息,但是我想通过去那个页面上每个项目的链接来自动化这个过程,然后获取信息回到主页,然后点击下面项目的链接。 网址是:https://ca.iherb.com/c/Vitamins?noi=48 我想点击“加州黄金营养、黄金C、维生素C、1000毫克、60粒蔬菜胶囊”项目,然后点击底部的“查看所有评论”。然后返回主页并单击以下项目的链接。 我使用此

  • 创建一个匿名PL/SQL块,该块根据SQL参数(例如&variable),按姓氏查找员工,用户在EMPLOYEES表(例如King、Kochhar、De Haan、Hunold、Ernst等)中使用有效的last_name响应该参数。如果employee last_name存在于EMPLOYEES表中,那么在OUTPUT_LOG表中插入以下字符串:'employee is is found'。通过

  • 问题内容: 我需要测试从1到1000的每个数字是3的倍数还是5的倍数。我认为我要这样做的方式是将数字除以3,如果结果是整数,则它将是3的倍数。与5相同。 如何测试数字是否为整数? 这是我当前的代码: 问题答案: 您可以使用模运算符执行此操作, 当且仅当是的精确倍数时,计算结果为true 。在小学数学中,这被称为除法运算的余数。 在您当前的方法中,您执行除法,结果将是 如果使用整数除法,则始终为整数

  • 我想用硒点击“?例如,在网站上你点击的按钮会重定向到href,但是当我使用selenium时,什么也没发生。我已经尝试了这么多迭代,也查找了类似的指南,但无济于事。

  • 我得到 我怀疑这是因为两者都是。