如何在单击事件但仅在页面加载后触发jQuery函数?

时间:2018-09-17 22:58:45

标签: javascript jquery

我有一个向其他站点请求信息的按钮。这个呼叫很大,需要几秒钟才能收到响应。收到响应后,我想使用响应中的一些信息向用户显示模式。

所以我的问题是,如何在单击按钮时显示模态,但是只有在收到有效载荷以及构造消息所需的信息后,才显示模态?请注意,Web服务调用不是用JavaScript完成的。我会将消息存储在页面上的隐藏元素中,以供用户提取。

这是我尝试过的,希望可以解释我要完成的工作。

$("#get_cost").click(function() {
    var myMessage = $("#responseEle").val();
    swal("Success!", myMessage, "success");
}).ready();

顺便说一句... swal只是https://sweetalert.js.org/,确实很棒,但与我的问题无关。

1 个答案:

答案 0 :(得分:1)

您可以每秒查询一次您正在寻找的条件,并具有超时条件。单击按钮运行checkDone功能。

let done = false;

function checkDone() {
  if (done) {
    console.log('Done');
  } else {
    console.log('Polling');
    setTimeout(checkDone, 1000); // Run checkDone again in 1,000 milliseconds
  }
}

checkDone();

setTimeout(() => { done = true; }, 5000);