滚动网页上的jquery ui可排序插件似乎存在问题。我用它来重新排序表行(并将它们从一个表移动到另一个表)。当滚动网站时,从底部表格到顶部表格的拖放并不能正常运行恕我直言。拖动元素的占位符不会插入到最底部位置的新表中,而是插入到其后的几行中。有时它是2,有时甚至是3行。在鼠标光标上升之前,它会被打破。一旦鼠标向下移动至少1个像素,它就会被重新定位并修复。
这是截图页面未滚动(左侧)时的截图,以及稍后滚动一点(右侧)时的同一页面:
代码很简单:
$( ".sortable tbody" ).sortable({"axis": "y", "cursor": "move", 'tolerance': 'pointer', 'cursorAt': { top: 20, left: 20 }, 'scroll': false,
"connectWith": $('.sortable tbody'),
"items" : 'tr:not(.nosort)'
});
$('body').scrollTop(340);
我该如何解决这个问题?目标是确保它的行为与网页未滚动时的行为相同。
我整天玩它,尝试了jquery ui的所有可能参数,甚至试图深入挖掘源代码,但我没有成功。
答案 0 :(得分:1)
我实际上付了一些钱来找出错误是什么。错误修正是一行的。
- axis = floating ? "clientX" : "clientY";
+ axis = floating ? "pageX" : "pageY";
我将尝试将修复程序传播到jquery-ui源。
更新:花了大约一年时间,但最终应该在jquery UI current中接受更改。