我正在构建一个图形界面,允许用户将外部点拖到图形上。
然后,我在放置时获得鼠标位置,并在那里向图中添加一个点。
但是,这些点的直径为 35px,因此可以通过角落抓住点。当这种情况发生时,在图表上绘制的点与用户期望的点明显不同。
我无法想象这是唯一一次出现这种情况,有没有一种简单的方法可以确保物体的中心点被吸毒?
我正在构建一个图形界面,允许用户将外部点拖到图形上。
然后,我在放置时获得鼠标位置,并在那里向图中添加一个点。
但是,这些点的直径为 35px,因此可以通过角落抓住点。当这种情况发生时,在图表上绘制的点与用户期望的点明显不同。
我无法想象这是唯一一次出现这种情况,有没有一种简单的方法可以确保物体的中心点被吸毒?
事实证明,这很容易,只需要写出问题来找到合适的词来搜索答案:
$('.to_drop').draggable({
cursor: 'move',
cursorAt: { top: 17, left: 17 },
};
你可以试试这个:
start: function(event, ui){
$(this).draggable('instance').offset.click = {
left: Math.floor(ui.helper.width() / 2),
top: Math.floor(ui.helper.height() / 2)
};
}
您可以设置某种居中的拖动手柄(请参阅http://jqueryui.com/demos/draggable/#handle)