将子元素和父元素拖动到一起

3

我有一个如下所示的div结构。

<div id="wrapper">
   <div id="innerWrapper">
      <div id="obj"></div>
   </div>
</div>

目前我正在使用jQuery的可拖动功能来移动div。

jQuery('#obj').draggable();

现在我需要通过拖动#obj来移动#wrapper。我该怎么做呢?基本上我想同时拖动#obj#wrapper

当我这样做时

jQuery('#wrapper').draggable();

它在触摸设备上的响应不佳,可能是因为#obj#wrapper重叠。


你所说的“不响应良好”是指完全无法工作吗?而你使用的“触摸设备”是哪些? - Zakaria Acharki
@ZakariaAcharki 只有在 #wrapper 的边缘触摸时才有效。当在 #wrapper 的中心触摸时根本不起作用。我已经在 iPad 和 iPhone 上尝试过了。 - Bekki
@Patel 谢谢。您的 #container 位置没有改变。这正是我需要的。我需要在拖动子元素时移动父元素。 - Bekki
@Bekki 但是 parentpara 都移动了。这难道不是您想要的吗? - Patel
@BishopBarber,您是说我正在使用HTTPS协议 - Bekki
显示剩余3条评论
1个回答

0

您可以在可拖动的UI中使用句柄选项,以限制父级不被拖动,除非鼠标按下发生在子元素的指定元素上。

对于您的代码,您可以执行以下操作:

jQuery( "#wrapper" ).draggable({ handle: "div#obj" });

有关代码参考:http://jsfiddle.net/xBB5x/8862/

有关库的参考资料:http://jqueryui.com/draggable/#handle


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接