我正在创建一个拖放插件。
现在我正在努力创建尽可能多的功能。我目前的目标是让我的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
指的是this
。 this
是被句柄拖动的元素
o.handle
指的是句柄的元素。 o
中的o.handle
指的是:
var o = $.extend(defaults, options);
问题:我第一次尝试点击o.handle
。元素跳转到:top:0px;left:0px;
。然后它拖得很好。但是一旦我放下它然后拿起元素并尝试再次拖动它。它跳转到:top:0px;left:1px;
。这种情况一次又一次地发生,不停。我不是为什么。您可以看到问题here。你看到我的代码中有错误吗?
感谢您的帮助