JqueryUI拖动:光标与draggable元素不在同一位置

我正在使用最新版本的JQuery和JQuery UI来理解拖放function。 我面临一个小问题 – 主要是由于鼠标阻力。

正如您所看到的,我正在创建包含其中一些项目的堆栈。

现在,如果这些堆栈只是在体内 – 我的意思是div.allstacks在体内是没有问题的。 但是一旦我将所有这些堆栈放在div#left-panel中,光标失去焦点的问题就开始了。

这意味着现在当我拖动项目时,水平滚动后 – 我的鼠标光标不在可拖动音符的相同位置。

现在问题是:

问题的屏幕截图

JSFiddle Link [无div工作#左侧面板]: http : //jsfiddle.net/deveshz/YvmFf/

JSFiddle Link [不使用div#left-panel] http://jsfiddle.net/deveshz/YvmFf/1/


这是代码。

使用Javascript:

var zindex = 10; $(".item").draggable({ containment: "body", scroll: true, revert: function (event, ui) { $(this).css("border", "none"); return !event; }, start: function (event, ui) { $(this).css("z-index", zindex++); $(this).css("border", "2px solid #333"); } }); $(".stack_items").droppable({ hoverClass: "over", drop: function (event, ui) { $("
  • ").html(ui.draggable.html()).appendTo(this); $(ui.draggable).remove(); } });

    当我试着阅读@konrad给出的链接时,我发现它是Jquery UI中的一个错误 – 即使在最新版本中也是如此。 一旦我开始使用Jquery UI 1.9.2版本,问题就解决了

    这是更新的小提琴: http : //jsfiddle.net/deveshz/YvmFf/2/

    使用相同的代码:

     var zindex = 10; $(".item").draggable({ containment: "body", scroll: true, revert: function (event, ui) { $(this).css("border", "none"); return !event; }, start: function (event, ui) { $(this).css("z-index", zindex++); $(this).css("border", "2px solid #333"); } }); $(".stack_items").droppable({ hoverClass: "over", drop: function (event, ui) { $("
  • ").html(ui.draggable.html()).appendTo(this); $(ui.draggable).remove(); } });

    它使用来自http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js的 Jquery版本1.9.2