- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近遇到了一种情况,在处理 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/
我来自 Asp.Net 世界,试图理解 Angular State 的含义。 什么是 Angular 状态?它类似于Asp.Net中的ascx组件吗?是子页面吗?它类似于工作流程状态吗? 我听到很多人
我一直在寻找 3 态拨动开关,但运气不佳。 基本上我需要一个具有以下状态的开关: |开 |不适用 |关 | slider 默认从中间开始,一旦用户向左或向右滑动,就无法回到N/A(未回答)状态。 有人
我是一名优秀的程序员,十分优秀!