gpt4 book ai didi

JQuery 模态对话框 - 销毁还是关闭?

转载 作者:行者123 更新时间:2023-12-03 22:40:17 25 4
gpt4 key购买 nike

我最近遇到了一种情况,在处理 JQueryUI 模态对话框时,我对应该使用哪种技术感到有点困惑。

我有一个函数:ClearDay(weekID, ltDayID)。目前,它负责创建一个带有两个按钮的对话框:确定和取消。

ok 将触发 ajax 调用,将 weekID 和 ltDayID 传递给服务器。
取消将清空对话框的div并在目标div上调用.dialog('destroy')

我的问题是:我应该使用以下哪种方法?

每次调用时销毁/重新创建对话框 - 这样我就可以将参数传递给 ajax 调用,并且标记中的所有对话框只有一个 div

function ClearDay(weekID, ltDayID) {

$('#modalDialog').dialog({
autoOpen: true,
width: 300,
title: 'Confirm Delete',
modal: true,
buttons: [{
text: 'ok',
click: function (e) {

$(this).dialog('close');

$.ajax({
url: '/Shift/ClearDay',
type: 'POST',
cache: false,
data: { shiftWeekID: weekID, shiftLtDayID: ltDayID },
success: function (result) {

LoadShiftPattern(function (result) {

$('#weekContainer').html(result);

SelectLastUsedField();
});

}
});
}
},
{
text: 'cancel',
click: function (e) {
$('#errorList').empty();
$(this).dialog('close');
}
}],
open: function (e) {

$(this).html("Clicking ok will cause this day to be deleted.");

},
close: function (e) {
$(this).empty();
$(this).dialog('destroy');
}
});

}

仅创建一次对话框,但标记中的每个对话框都有一个 div,使用 Close,并使用 Jquery 选择器直接传入值

$(function() {

$('#confirmDeleteDialog').dialog({
autoOpen: false,
width: 300,
title: 'Confirm Delete',
modal: true,
buttons: [{
text: 'ok',
click: function (e) {

$(this).dialog('close');

$.ajax({
url: '/Shift/ClearDay',
type: 'POST',
cache: false,
data: { shiftWeekID: $('#weekIDInput').val(), shiftLtDayID: $('#dayIDInput').val()},
success: function (result) {

LoadShiftPattern(function (result) {

$('#weekContainer').html(result);

SelectLastUsedField();
});

}
});
}
},
{
text: 'cancel',
click: function (e) {
$('#errorList').empty();
$(this).dialog('close');
}
}],
open: function (e) {

$(this).html("Clicking ok will cause this day to be deleted.");

}
});
}

function ClearDay() {

$('#confirmDeleteDialog').dialog('open');

}

干杯,

詹姆斯

最佳答案

说实话,我也不确定。不过,您可以使用 JavaScript 分析器来测量执行任一方式所需的时间。

这里是 Google Chrome 开发者工具中 javascript 分析器的迷你指南的链接 http://code.google.com/chrome/devtools/docs/profiles.html

我建议第二个选项会更慢,因为我猜测“数据”中的选择器需要进行评估,因此会变慢。

但是,这将取决于对话打开/关闭的次数。正如我猜测的那样,破坏和重新创建会很慢(就在眨眼之间 - 但可能会慢一点)。

第一个似乎是一个更简单的实现,因此如果性能似乎不是问题 - 也许只需选择两者中更简单的一个。

关于JQuery 模态对话框 - 销毁还是关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com