2
我想创建自己的拖放插件。拖放 - JQuery插件
我的插件:
$.fn.drag = function(options) {
var defaults = {
revert: false,
onDrag: function() {},
onDrop: function() {}
};
var o = $.extend(defaults, options);
return this.each(function() {
var position = $(this).position();
var ptop = position.top;
var pleft = position.left;
var down = false;
$(this).mousedown(function(event) {
down = true;
$(this).css({
cursor: 'move',
}).mousemove(function(event) {
if (down == true) {
$(this).css({
cursor: 'move',
});
var w = $(this).width();
var h = $(this).height();
var left3 = (w/2) + 7;
var top3 = (h/2) + 7;
$(this).css({
cursor: 'move',
left: (event.clientX) + (3 * 3) - left3,
top: (event.clientY) + (3 * 3) - top3
});
}
}).bind('mousemove', o.onDrag).mouseup(function() {
down = false;
$(this).css({
cursor: 'default',
});
if (o.revert == true) {
$(this).animate({
top: ptop,
left: pleft
}, 300);
} else {}
}).bind('mouseup', o.onDrop);
});
});
}
我的问题:在当我尝试将它拖到里面中心光标匹配的元素的时刻。我故意这样做,因为我不知道如何制作它,所以如果我点击它将拖动的元素的任何部分。正如你所看到here
定心光标元素里面的代码:
var w = $(this).width();
var h = $(this).height();
var left3 = (w/2) + 7;
var top3 = (h/2) + 7;
$(this).css({
cursor: 'move',
left: (event.clientX) + (3 * 3) - left3,
top: (event.clientY) + (3 * 3) - top3
});
有没有办法不居中元素中的光标,只要你点击它能够拖动的元素?
在此先感谢:d
他们删除的小提琴... – pimvdb