【发布时间】:2017-09-12 08:25:23
【问题描述】:
请考虑以下 CodePen:https://codepen.io/ChrisVomRhein/pen/yzBwaZ
当您单击按钮时,会打开一个包含大量文本的对话框并
$( "#dialog" ).dialog("option", "position", {
my: "right top",
at: "right top",
of: $(this)
});
确保它相对于按钮定位。对于顶部的三个按钮,这很好用。 jQuery 确保对话框停留在屏幕上。
即使对于左上角的按钮,jQuery 也足够聪明,可以移动对话框以使其停留在屏幕上。
但是,只要我单击位于底部的按钮之一,jQuery 也会移动对话框;这次向上。问题是 X 按钮(关闭对话框)不再可用。此外,没有显示滚动条!
有没有办法强制 jQuery UI 确保 X 总是在浏览器窗口的可访问区域内?还是我在这里遗漏了一些非常基本的东西?
【问题讨论】:
-
This answer 可以帮到你
-
嘿,罗里。如果您的对话框首先以某种方式适合您的视口,那么效果很好。但除此之外(在我的场景中),这个 hack 让事情变得更糟 :-( 只需分叉 codepen 并自己尝试一下:原始行为与上面描述的相同;一旦你开始拖动对话框,它就会一直移动起来!
标签: javascript jquery css jquery-ui