您能帮我理解为什么我的 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;
});
});
最佳答案
您只需初始化模型一次。每当点击事件被触发时,您就在执行此操作。第一次初始化后,每次执行以下行打开对话框。
$(target).dialog("open");
此外,您应该将选项“autoOpen”设置为 false。否则,模式将在页面加载时打开。
关于javascript - jQuery 模式对话框打开多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24492304/