对按钮单击时的两个操作进行排序
Sequencing two action on a button click
问题:我有一个 asp.net 按钮,单击该按钮后,我正在使用客户端使用window.open()
显示另一个窗口<script></script>
"实际上,一旦用户关闭子窗口,我需要在按钮所在的父页面上显示一个弹出窗口(警报消息)。
我尝试的几件事如下:
-
我尝试使用
setTimeOut()
暂停几毫秒。这不起作用,因为控件不会等到超时完成。它只是继续执行下一组代码。 -
我尝试使用
setInterval()
但由于某种原因它对我不起作用。下面是其中的代码片段:$(document).ready(function () { $('#<%=btnClick.ClientID%>').bind('click', function () { var newWindow = window.open("http://www.google.com/", "google", 'resizable=1,width=900,height=800,scrollbars=1', '_blank'); newWindow.moveTo(0, 0); var test = setInterval(function (e) { if (newWindow.closed) { alert("HEYY"); clearInterval(test); __doPostBack("<%= btnClick.UniqueID %>", ""); } else { e.preventDefault(); } }, 5000); }); });
.
- 我还尝试进行ajax调用以打开新窗口并使其
async : false
,它再次对我没有帮助。
将窗口和计时器变量移出事件处理程序的范围。您需要进行轮询,即定期检查窗口是否已关闭。使用setInterval
进行轮询将完成这项工作。
var newWin, pollTimer;
$('#btnId').bind('click', function () {
newWin = window.open("...", "...", "");
pollTimer = window.setInterval(function() {
if (newWin.closed) {
window.clearInterval(pollTimer);
callCodeWhenPopupCloses();
}
}, 5000);
});
function callCodeWhenPopupCloses() {
alert("Popup closed.");
...
}
相关文章:
- 在Google Analytics中跟踪用户,但只能在两个操作之间跟踪
- 一个jsp中有两个操作URL
- 无法延迟iPhone/iPad上的两个JavaScript操作
- 使用getElementById一次指定两个操作
- 仅将画布复合应用于两个操作
- 一个形成两个操作,具体取决于哪个按钮
- 如何在HTML中使用相同的输入值拥有一个输入字段,两个按钮和两个操作
- JSF 中的一个命令按钮中的两个操作
- 对按钮单击时的两个操作进行排序
- 一个表单需要两个操作(一个本地,一个远程)
- 在注册表格上按下“提交”时执行的两个操作:需要具体结果
- 使django-html表单在提交时执行两个操作
- Ruby on rails-如何让控制器使用ajax同时执行两个操作
- 如何在一个提交按钮上有两个操作
- 通过ajax通过一个按钮将单个表单提交给两个操作
- html形成具有两个操作的两个按钮
- 链接承诺执行两个操作
- 一个表单,一个提交按钮,但两个操作
- 单击一个按钮时调用两个操作 点火器.
- c#中的弹出消息用于单个按钮和两个操作