jquery - 如何在 jQuery 中使元素可拖动?

标签 jquery jquery-ui draggable

如何制作一个元素,例如一个 div,可以使用 jQuery 拖动?

最佳答案

您可以仅使用 jquery,而不使用 jquery UI:

function handle_mousedown(e){

    window.my_dragging = {};
    my_dragging.pageX0 = e.pageX;
    my_dragging.pageY0 = e.pageY;
    my_dragging.elem = this;
    my_dragging.offset0 = $(this).offset();

    function handle_dragging(e){
        var left = my_dragging.offset0.left + (e.pageX - my_dragging.pageX0);
        var top = my_dragging.offset0.top + (e.pageY - my_dragging.pageY0);
        $(my_dragging.elem)
        .offset({top: top, left: left});
    }

    function handle_mouseup(e){
        $('body')
        .off('mousemove', handle_dragging)
        .off('mouseup', handle_mouseup);
    }

    $('body')
    .on('mouseup', handle_mouseup)
    .on('mousemove', handle_dragging);
}

$('#b').mousedown(handle_mousedown);

关于jquery - 如何在 jQuery 中使元素可拖动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2424191/

相关文章:

javascript - Amcharts 使用子弹图按值排序堆栈

jQuery 可拖放与 Firefox 和 IE 的兼容性问题

jquery - 将 javascript 函数应用于可拖动副本

jquery - 防止 jquery Draggable 在可调整大小的 droppable 中跳转

javascript - 小谜语: Why this isn't working on Chrome?

JavaScript 反转循环时出现问题

javascript - 浏览器 GET 请求返回旧图像

javascript - 升级到 jQuery UI 1.10 时如何更改 `cache` 和 `ajaxOptions`?

jquery - jQuery Mobile 后退按钮中的图像不出现

Javascript 在使用 Ajax 加载的 jQuery UI 选项卡中不起作用