JQuery Ajax 计时
JQuery Ajax Timing
我有一个更大的 JQuery UI 对话框。在这里面我有一些更大的 PHP 脚本,它们填充了对话框内容。在 ESCAPE 上我关闭对话框。在每个之后:
$('.editbtn').click(function() {
$id = $(this).attr('name');
var $tabid = $id.split("|");
var $url = "ajax/edit.php?....";
$("#dialog-confirm").load($url);
$("#dialog-confirm").dialog("option", "width", $tabid[4]);
$("#dialog-confirm").dialog("option", "height", $tabid[5]);
$("#dialog-confirm").dialog('open');
$("#dialog-confirm").first().focus();
});
我设置了焦点。
有时有效有时无效。这显然取决于 PHP 脚本的执行。我看到了包含旧内容(关闭后)的对话框,并在短暂的时间间隔后看到了新选择的内容。只要未显示新选择的内容,ESCAPE 就会起作用。如果对话框中充满了新内容,则 ESCAPE 不起作用。这实际上意味着对话框屏幕失去了焦点。
如果 PHP 脚本结束,我怎样才能确定只显示对话框?
提前致谢。
您可以通过定义完整的回调函数来简单地做到这一点。
$('.editbtn').click(function() {
$id = $(this).attr('name');
var $tabid = $id.split("|");
var $url = "ajax/edit.php?....";
$("#dialog-confirm").load($url, function() {
$("#dialog-confirm").dialog("option", "width", $tabid[4]);
$("#dialog-confirm").dialog("option", "height", $tabid[5]);
$("#dialog-confirm").dialog('open');
$("#dialog-confirm").first().focus();
});
});
而且,我建议您为 jQuery 对象定义一个变量以获得更好的性能。
var confirm = $("#dialog-confirm");
confirm.dialog("option", "width", $tabid[4]);
confirm.dialog("option", "height", $tabid[5]);
confirm.dialog('open');
confirm.first().focus();
我有一个更大的 JQuery UI 对话框。在这里面我有一些更大的 PHP 脚本,它们填充了对话框内容。在 ESCAPE 上我关闭对话框。在每个之后:
$('.editbtn').click(function() {
$id = $(this).attr('name');
var $tabid = $id.split("|");
var $url = "ajax/edit.php?....";
$("#dialog-confirm").load($url);
$("#dialog-confirm").dialog("option", "width", $tabid[4]);
$("#dialog-confirm").dialog("option", "height", $tabid[5]);
$("#dialog-confirm").dialog('open');
$("#dialog-confirm").first().focus();
});
我设置了焦点。
有时有效有时无效。这显然取决于 PHP 脚本的执行。我看到了包含旧内容(关闭后)的对话框,并在短暂的时间间隔后看到了新选择的内容。只要未显示新选择的内容,ESCAPE 就会起作用。如果对话框中充满了新内容,则 ESCAPE 不起作用。这实际上意味着对话框屏幕失去了焦点。
如果 PHP 脚本结束,我怎样才能确定只显示对话框?
提前致谢。
您可以通过定义完整的回调函数来简单地做到这一点。
$('.editbtn').click(function() {
$id = $(this).attr('name');
var $tabid = $id.split("|");
var $url = "ajax/edit.php?....";
$("#dialog-confirm").load($url, function() {
$("#dialog-confirm").dialog("option", "width", $tabid[4]);
$("#dialog-confirm").dialog("option", "height", $tabid[5]);
$("#dialog-confirm").dialog('open');
$("#dialog-confirm").first().focus();
});
});
而且,我建议您为 jQuery 对象定义一个变量以获得更好的性能。
var confirm = $("#dialog-confirm");
confirm.dialog("option", "width", $tabid[4]);
confirm.dialog("option", "height", $tabid[5]);
confirm.dialog('open');
confirm.first().focus();