改变拖动元素的相对位置

Change relative position of a dragged element

我正在使用 jQuery UI 来拖动一些图标。我成功使用了可拖动功能。

但是现在,当我用手指拖动图标时(在 phone 上)我想看到图标被拖动,所以我决定增加宽度(因为我们的手指很大)。

但是,当我拖动图标时会发生这种情况:

另请参阅,这是我的拖动事件代码:

$("#icon").draggable({
  helper: 'clone',
  start: function(event, ui) {
    $(ui.helper).css('width', "150%");
  },
  stop: function(event, ui) {
    $(ui.helper).css('width', "100%");
  }
});

Draggable 有一个 cursorAt 选项:

Sets the offset of the dragging helper relative to the mouse cursor. Coordinates can be given as a hash using a combination of one or two keys: { top, left, right, bottom }.

你可以像这样使用:

$( ".selector" ).draggable({
  cursorAt: { left: 5 }
});

jQuery UI 默认不支持触摸事件。我相信您将它与 jQuery UI Touch Punch 一起使用。希望有用。