对话框关闭两次
Dialog closes twice
代码如下:
var timer;
$('#phone_number').click(function(){
$("#phone_dialog").dialog('open');
timer = setTimeout(function(){ phone_close() },10000);
});
$('#phone_dialog').click(function(){
clearTimeout(timer);
phone_close();
});
function phone_close(){
$('#phone_dialog').dialog('close');
};
思路是用户单击phone_number
打开对话框。用户可以点击关闭对话框,但如果他没有这样做,它会在10秒后消失,通过setTimer()
。
在实践中发生的是,然而,clearTimeout(timer)
似乎并没有停止定时器。用户可以在2秒后点击关闭。然后对话框[重新打开并]在第10秒关闭,尽管在点击功能中存在clearTimeout
。
你可以使用isOpen来检查对话框是否已经关闭
function phone_close(){
if($("#phone_dialog").dialog( "isOpen" )
{
$('#phone_dialog').dialog('close');
}
};
试着像这样改变第一个函数:
$('#phone_number').click(function(){
$("#phone_dialog").dialog('open');
clearTimeout(timer);
timer = setTimeout(function(){ phone_close() },10000);
});
相关文章:
- 删除确认对话框在第一次单击时不起作用
- JQuery UI 对话框在第二次单击时不会更新
- Jquery对话框的大小调整只发生在它的第一次's已打开
- 在jQuery UI对话框中单击triggerd多次
- 确认对话框多次触发
- Button onClick事件在jQuery Mobile对话框中触发过多次
- "阻止该页面创建附加对话框“;第二次点击
- jQuery UI对话框在页面上只显示一次
- ng标记输入,不允许在文本框中输入两次相同的文本
- 避免单击两次以开始编辑Backgrid中的布尔(复选框)单元格
- 每 3 小时显示一次对话框
- 如何解决jquery使用对话框执行两次脚本
- 如何在关闭一次对话框后禁用该对话框
- 使用Cordova会弹出两次确认对话框
- 为什么web处理程序在jquery对话框中调用两次
- 本机打印对话框触发两次,为iframe和页面在Internet explorer 11
- 为什么在FireFox中单击按钮时文件打开对话框会打开两次?
- 对话框关闭两次
- jQuery对话框需要点击两次才能打开
- Javascript确认对话框出现两次;单击Element后返回