简而言之:当您的文档高度 > 窗口高度时,向下滚动并打开对话框 - 您不能在 Firefox 中拖动它。错误仅在 jQuery UI 1.10.x 中出现
如何重现:
jsfiddle:
http://jsfiddle.net/mefa/zrNNZ/15/
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Jquery UI FF dialog bug - jsFiddle demo by mefa</title>
<script src="//code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<link href="/css/result-light.css" type="text/css" rel="stylesheet">
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js" type="text/javascript"></script>
<link href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" type="text/css" rel="stylesheet">
<style type="text/css">
html {
font-size:12px;
}
body {
height: 2000px;
}
</style>
<script type="text/javascript">
$(window).load(function(){
$(function() {
$( "#dialog-modal" ).dialog({
height: 150,
modal: true
});
});
});
</script>
</head>
<body>
<div title="Basic modal dialog" id="dialog-modal">
<p>Drag this dialog to bottom of document in Firefox</p>
<p>Bug only in jquery ui 1.10.x</p>
</div>
<p>Sed vel diam id libero rutrum convallis. Donec aliquet leo vel magna. Phasellus rhoncus faucibus ante. Etiam bibendum, enim faucibus aliquet rhoncus, arcu felis ultricies neque, sit amet auctor elit eros a lectus.</p>
</body>
</html>
视频:http ://www.youtube.com/watch?v=_J8aepYHg4U
所以,假设 U 有一个 Jquery UI Dialog,并且标签<body>有垂直滚动(例如你有很多内容,例如大表)。假设您的窗口高度为800像素,文档高度为2000像素;所以你需要向下滚动,以获取所有内容。
然后向下滚动,在窗口高度上,例如到1000px,打开对话框。之后你不能正确地将它拖到任何其他位置,因为它像疯了一样跳跃。
我已经录制了一个演示,基于原始的 jquery ui 示例,所以没有人可以说我错过或损坏了某些东西。我改变的只有一件事是 body css attr "height",并将其设置为 2000px 以模拟大文档。
我感谢任何建议/修复。