我有一系列jQuery对话框,其中一些包含很多信息。对话框打开后,页面将滚动显示对话框的底部。此外,这些对话框只能通过底部的按钮关闭,有时会将信息隐藏在对话框的最顶部。
我有两个问题我想解决:
关闭对话框后,我想回到对话框打开前页面所在的位置。
//Code added due to StackOverflow requirement
$dialog = $(this).next('.dialog-content').dialog({
closeOnEscape: false,
open: function (event, ui) {
$(".ui-dialog-titlebar-close").hide();
//it's almost as if I need a beforeOpen function
},
. . .
以下是我完成对话框构建的方法,以及上面的第一个问题:http://jsfiddle.net/rjezB/3/
要查看第二个问题,请在页面中向下滚动一下,然后打开对话框。我想回到相同的滚动位置,而不是再次回到页面顶部。
非常感谢任何指针。
答案 0 :(得分:1)
问题在于jQuery UI Dialog的内置自动对焦功能:
您可以在调用对话框之前执行此功能来防止这种情况。
$.ui.dialog.prototype._focusTabbable = function(){};
将焦点功能重新定义为空函数。
添加代码的示例: