Javascript 昂德拉根顿';不要回到起始位置

Javascript 昂德拉根顿';不要回到起始位置,javascript,jquery,html,drag-and-drop,draggable,Javascript,Jquery,Html,Drag And Drop,Draggable,我正在使用draggable='true'属性在我的网站中创建一个draggable元素,但我遇到了一个外观问题 拖动基本上是为了重新排列元素,所以我想把它们捡起来,拖动到新的位置,然后简单地将它们释放到新的位置,但是一旦我放开,元素就会滑回原来的位置,然后再移动到新的位置 请参见此图: 我怎样才能避免这种情况发生?我想跳过“返回”部分 编辑: 已确认此问题已本地化到Mac。这与整个窗口的反弹效果非常相似。我尝试使用jquery编写您想要的代码。 --> 可以拖动具有类.drag\u i

我正在使用
draggable='true'
属性在我的网站中创建一个draggable元素,但我遇到了一个外观问题

拖动基本上是为了重新排列元素,所以我想把它们捡起来,拖动到新的位置,然后简单地将它们释放到新的位置,但是一旦我放开,元素就会滑回原来的位置,然后再移动到新的位置

请参见此图:

我怎样才能避免这种情况发生?我想跳过“返回”部分


编辑:
已确认此问题已本地化到Mac。这与整个窗口的反弹效果非常相似。

我尝试使用jquery编写您想要的代码。

-->

可以拖动具有类
.drag\u item
的元素。如果将其释放到不在具有class
的元素区域的任何位置。释放区域
,它将返回到之前的位置。

我希望这是你想要的。如果你对这个代码有任何问题,请问我:D


更新了我尝试了很多次,现在我有了解决方案

    $('div[class=dragable]').on('dragend',function(e){
        $(this).css('top',e.originalEvent.pageY-($(this).height()/2));
        $(this).css('left',e.originalEvent.pageX-($(this).width()/2));
    });
拖动鼠标时,我无法获得位置(我得到的位置是开始拖动之前元素的原始位置”)
因此,唯一的方法(到目前为止,我已经测试过)是在您放下鼠标时获得鼠标的位置,并且
设置
与鼠标的位置相同。


我只在Chrome上测试过。无论如何,我不建议你这么做。

ondragstart
ondragend
ondragenter
ondragleef
,等等都是@David oh列出的拖动事件下的Javascript事件,我从未见过。谢谢你提供的信息:)
    $('div[class=dragable]').on('dragend',function(e){
        $(this).css('top',e.originalEvent.pageY-($(this).height()/2));
        $(this).css('left',e.originalEvent.pageX-($(this).width()/2));
    });