你能帮我理解为什么我的javascript函数多次打开模态弹出窗口?所以如果我第一次点击链接出现模式,那么我关闭它再打开 - 如果我要关闭它我应该按取消两次等。
这是我的代码:
<script type="text/javascript">
$(function () {
$('.modal-class').click(function () {
$("#modal-popup").load(this.href, function () {
var target = document.getElementsByClassName("modal-popup")
$(target).dialog({
autoOpen: true,
closeOnEscape: true,
width: 400,
resizable: false,
title: 'Login Form',
modal: true,
buttons: {
Login: function() {
// perform login
$.post("@Url.Action("Login", "User")",
{
username: $('#Email').val(),
password: $('#Password').val()
},
function() {
$('.modal-popup').dialog("close");
$('#main').load("@Url.Action("Index", "User")",
{
uniqueName: $('#Email').val()
});
});
},
Cancel: function () {
$(this).dialog("close");
}
}
});
})
return false;
});
});
答案 0 :(得分:2)
您只需要初始化模型一次。每当触发click事件时,您都在执行此操作。第一次初始化后,每次都执行以下行打开对话框。
$(target).dialog("open");
此外,您应该将选项'autoOpen'设置为false。否则,当页面加载时,模态将会打开。
答案 1 :(得分:0)
也许在没有你的javascript代码(框架的一部分)的情况下点击模式已经打开?你也有html代码的样本吗?
尝试在此javascript代码的第一行添加e.PreventDefault()
,看看会发生什么。
答案 2 :(得分:0)
你需要设置一个样式=&#39; display:none&#39;在modal-popup div上。我非常确定.dialog(&#34; open&#34;)操作的属性。