jQuery拖动功能在页面滚动后显示的助手位置错误。

80

我正在开发一个工作计划系统,使用jQuery draggabledroppable插件实现。用户可以将工作任务拖到不同的日期或用户上,然后通过ajax调用更新数据。

一切都很正常,除了当我滚动主页面时(任务显示在超出浏览器窗口底部的大型周计划中),如果我尝试拖动可拖动元素,该元素会出现在我的鼠标指针上方,偏移了我已经滚动下来的像素数。虽然悬停状态仍然运行良好,并且功能非常准确,但看起来不正确。

我正在使用jQuery 1.6.0和jQuery UI 1.8.12。

我确信需要添加一个偏移函数,但我不知道在哪里应用它,或者是否有更好的方法。这是我的.draggable()初始化代码:

$('.job').draggable({
  zIndex: 20,
  revert: 'invalid',
  helper: 'original',
  distance: 30,
  refreshPositions: true,
});

有什么办法可以解决这个问题吗?


你能提供一些可工作的演示吗? - jimy
@jimy 这都是动态的,而且非常安全,所以我得写一个全新的例子;如果没有人能尽快回答的话,我会去做的。 - Alex
你能发布一下你的可拖拽元素拥有或继承的所有CSS属性吗? - DarthJDG
2
根据我之前的回答,这个问题似乎已经最终修复 - Patrick
21个回答

0

我放弃使用jQueryUi的可拖动功能,转而使用一个更好的插件jquery.even.drag,代码体积更小,没有jQueryUI中的所有垃圾。

我已经在一个具有position:fixed属性的容器内使用此插件创建了演示页面。

演示

希望这能帮助到某些人,因为这个问题很大。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接