2017-10-19 130 views
0

即时通讯使用对话框。当我点击打开对话框时,我总是需要点击两次。我已经尝试了很多很多的解决方案,但它不工作。点击jQuery时必须点击两次模态对话才会出现

jQuery(result).on('click', function() { 
    jQuery(why).dialog({ 
    create: function (event, ui) { 
     jQuery(".ui-corner-all").css('border-radius','0px !important'); 
    }, 
    autoOpen: true, 
    title: "Whois Info", 
    width: 1170, 
    height: 600, 
    modal: true, 
    buttons: { 
     Close: function() {jQuery(this).dialog("close");return false;} 
    } 
    }); 
}); 
+0

你不需要每一次都初始化对话框上的按钮点击。将初始化部分移到document.ready函数中。然后在click函数内部编写代码使对话框可见。 –

+0

听起来像一个解决方案,但你能给我一个例子,谢谢 – Tony

回答

0

您不需要在按钮单击时每次都初始化对话框。将初始化部分移到document.ready函数中。然后在click函数内部编写代码使对话框可见。

类似:

$(function() { 
jQuery("#id").dialog({ 
    create: function (event, ui) { 
     jQuery(".ui-corner-all").css('border-radius','0px !important'); 
    }, 
    autoOpen: true, 
    title: "Whois Info", 
    width: 1170, 
    height: 600, 
    modal: true, 
    buttons: { 
     Close: function() {jQuery(this).dialog("close");return false;} 
    } 
    }); 

jQuery(result).on('click', function() { 
    jQuery("#id).dialog('open'); 
}); 

}); 
+0

好吧,我把你的示例代码移动到document.ready函数,但现在我得到错误:未捕获的ReferenceError:为什么没有定义。我认为这个结果会给我同样的错误。为什么和结果是在另一个函数中定义的,我该如何解决这个问题,谢谢。 – Tony

+0

你可以用你的对话框替换为什么对齐div编号 –

+0

Hmmmmm好吧,但我在另一个函数中声明:var why ='#why'+(index> 0?index:''); – Tony

相关问题