jQuery UI的可拖动和页面滚动

我注意到当我使用jQuery UI的可拖动function时,我必须将元素向上/向下拖动到页面上它强制滚动。 被拖动的元素似乎比我的鼠标光标跳跃(大约)两倍。 这会导致非常不稳定的行为并使其几乎不可能使用。

我的意思的一个例子可以在这里找到。

http://tinyurl.com/ae6g5qe

我甚至在jQuery UI网站上的示例代码中得到了这种行为。

http://jqueryui.com/draggable/#scroll

我猜测它正在使用鼠标移动和窗口滚动来增加元素的移动(因此两倍)。 我即将深入研究jQuery UI的代码,看看我是否能找到任何东西,但我很好奇是否有其他人经历过这个或者它只是我? 此外,如果有人 – 你有不知何故?

这似乎是jQuery UI 1.8+中的一个漏洞 。 您可以看到,如果您使用1.7版本的jQuery UI,行为会明显更好。

基于jQuery UI的可拖动演示的示例:

HTML

Scroll set to true, default settings

JS

 $(function () { $("#draggable").draggable({ scroll: true }); }); 

jsfiddle (使用jQuery 1.7.2和jQuery UI 1.7.3)