jQuery UI可拖动和页面滚动

时间:2013-02-11 21:04:56

标签: jquery jquery-ui draggable

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

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

http://tinyurl.com/ae6g5qe

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

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

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

1 个答案:

答案 0 :(得分:6)

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

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

<强> HTML

<div id="draggable" class="ui-widget-content">
    <p>Scroll set to true, default settings</p>
</div>
<div style="height: 5000px; width: 1px;"></div>

<强> JS

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

jsfiddle(使用jQuery 1.7.2和jQuery UI 1.7.3)