检索jQuery元素的X和Y位置

3
我需要获得元素在拖放后的X和Y位置,如何实现?
我想我需要使用droppable回调函数:
$(".portletPlaceHolder").droppable({
    drop: function( event, ui ) {
        //...
    }
});

你的意思是在拖放操作完成后检索被拖放元素的位置吗? - Samuel Rossille
@Samuel Rossille 没错,我有一个函数可以将位置保存到数据库中,我只需要X和Y坐标。 - blue-sky
你可以在那个拖放回调函数中使用 event.pageXevent.pageY 来获取它。 - Prasenjit Kumar Nag
我之前做了一个 JSFiddle 用于测试,你可以在这里查看 http://jsfiddle.net/joycse06/3X3Xa/1/。 - Prasenjit Kumar Nag
@user470184 好的,但是benqus已经给出了正确的答案。 - Samuel Rossille
3个回答

5

伙计,你应该阅读整个文档页面:

所有回调函数都接收两个参数:原始浏览器事件和一个准备好的 ui 对象,下面查看此对象的文档(如果将第二个参数命名为 'ui'):

  • ui.draggable - 当前可拖动元素,一个 jQuery 对象。
  • ui.helper - 当前可拖动助手,一个 jQuery 对象。
  • ui.position - 可拖动助手的当前位置 { top: , left: }
  • ui.offset - 可拖动助手的当前绝对位置 { top: , left: }

droppable jQuery manual

$(".portletPlaceHolder").droppable({
    drop: function (evt, ui) {
        var offset = ui.offset;
        console.log(offset.left + "x" + offset.top);
    }
});

2

-1

您可以使用position()函数来获取元素的上方和左侧位置。

$('yourselector').position();

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