0

我正在尝试在不使用 jQuery UI 的情况下进行拖放。(200kb 加载太多)

我有两个问题:

  1. 我不确定如何将拖动的元素捕捉到某个元素。我知道在 jQuery UI 中我可以提供一个像“snap”这样的选项,但不知道如何在普通的 jQuery 中做到这一点。

  2. 拖动元素时在哪里可以将光标更改为指针图标?

我有以下代码:

var dragging =null;

obj = $('table td');

$(obj).click(function(e){
    if(dragging){
        dragging = null;
    }
    else{
        dragging = $(e.target);
    }
})

$(document.body).mousemove(function(e){
    var el_w = $(obj).width();
    var el_h = $(obj).height();
    if (dragging) {
        dragging.offset({
            top : e.pageY-el_h/2,
            left : e.pageX-el_w/2
        })
    }
})

我搜索了谷歌,但几乎所有结果都建议使用 jQuery UI ... :(

4

1 回答 1

0

自定义构建

您可以下载自定义版本的 jQuery UI。按照此链接,转到底部,然后单击下载。

只能拖动

大小为32kb。现代网络服务器gzip文件,这将导致8.66kb的传输。它还可以与其他文件结合,以减少网络请求的数量。

选择

了不起的 Chris Coyer 编写了一个模仿$.draggablejQuery UI 的小插件。

注意:您必须修改他的代码才能让它进行任何类型的捕捉等。

无需 jQuery UI 即可拖动

如果使用 Closure Compiler 进行压缩,文件大小为0.769kb0.353kb gzip。

来自此在线 Closure Compiler的所有统计数据

于 2013-07-31T21:29:54.057 回答