jquery - 如何从 jQuery ui Draggable 获取位置 x 和 y?

标签 jquery jquery-ui

这里是一个例子 http://jsfiddle.net/naqbq/

重新定位图像后如何获取xy的当前位置?

<input type="hidden" name="source_x" id="source_x" />
<input type="hidden" name="source_y" id="source_y" />

最佳答案

stop回调中,您可以使用ui.helper来访问拖动的元素。然后按照 Brad 的建议使用 offset :

$("#image").draggable({
    stop:function(event,ui) {
        var wrapper = $("#wrapper").offset();
        var borderLeft = parseInt($("#wrapper").css("border-left-width"),10);
        var borderTop = parseInt($("#wrapper").css("border-top-width"),10);
        var pos = ui.helper.offset();
        $("#source_x").val(pos.left - wrapper.left - borderLeft);
        $("#source_y").val(pos.top - wrapper.top - borderTop);
        alert($("#source_x").val() + "," + $("#source_y").val());
    }
});​

然后,只需将其调整为您的包装器 - 减去其偏移量和边框宽度 - 并将其设置为您的输入的 val 即可。 (抱歉对边框进行了硬编码,但我无法使用 css 提取它) (编辑:就是这样!在 another question 中找到了解决方案)

http://jsfiddle.net/mgibsonbr/naqbq/4/

关于jquery - 如何从 jQuery ui Draggable 获取位置 x 和 y?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9810929/

相关文章:

javascript - 仅替换字符串末尾的文本

javascript - Atom Editor Javascript - 无效或意外的标记

javascript - Ajax 内容可排序 jQuery portlet,加载后按 'sortOrder' 变量排序

jQuery UI Droppable 和 Sortable - 放置在正确的排序位置

javascript - 如何创建这个简单的循环函数?

javascript - jQuery:对相似项目进行分组

jquery - 在 jquery 中 <span> 之前添加 <li> 和 </li> 之间

如果 id 是数字,JQuery 将不会切换

javascript - jQuery.ajax() + 空 JSON 对象 = 解析错误

javascript - 使用 jquery 和 backbone js 创建动态表单字段