处理拖放功能,无法正常工作

时间:2011-12-26 19:47:41

标签: javascript jquery drag-and-drop position

我正在创建一个拖放插件。 现在我正在努力创建尽可能多的功能。我目前的目标是让我的handle功能正常运行。

这是我正在使用的代码:

$(o.handle).mousedown(function (event) {
    down = true;
    if (o.activeClass === true) {
        $(oj).addClass(o.activeClass);
    }
    var dx = event.clientX - $(o.handle).position().left,
        dy = event.clientY - $(o.handle).position().top;
    $(o.handle).mousemove(function (event) {
        if (down == true) {
            if (o.dragClass === true) {
                $(oj).addClass(o.dragClass);
            }
            $(oj).css({
                cursor: 'move',
                left: event.clientX - dx,
                top: event.clientY - dy
            });
        }
    }); 
});

关于守则。 oj指的是thisthis是被句柄拖动的元素 o.handle指的是句柄的元素。 o中的o.handle指的是:

var o = $.extend(defaults, options);

问题:我第一次尝试点击o.handle。元素跳转到:top:0px;left:0px;。然后它拖得很好。但是一旦我放下它然后拿起元素并尝试再次拖动它。它跳转到:top:0px;left:1px;。这种情况一次又一次地发生,不停。我不是为什么。您可以看到问题here。你看到我的代码中有错误吗?

感谢您的帮助

0 个答案:

没有答案