【发布时间】:2012-12-02 15:42:45
【问题描述】:
我有一种情况,在 div 中有可拖动的项目。但是,当父 div 使用 -webkit-transform 缩放时,draggable 显然无法正常工作。
我已经重现了here的场景。
如您所见,可拖动项相对于文档移动,即使父项的比例完全不同。
我在 JS 中将刻度(示例中为 1.5)作为变量,所以我可以使用它,但是在哪里呢?我需要将拖动距离除以比例,对吗?我在哪里可以这样做?
编辑:我尝试将函数设置为drag-event,但无法弄清楚如何实际更改拖动距离。
Edit2:我挖了jQuery UI源码,从事件drag看来没有办法做到这一点:
if(this._trigger('drag', event, ui) === false) {
this._mouseUp({});
return false;
}
如您所见,回调函数的返回值没有以任何方式存储。元素的位置在回调触发后发生了变化,因此在回调中更改 CSS 不起作用。
您可以通过在浏览器中搜索此字符串来查看相关代码here:
_mouseDrag: function(event, noPropagation) {
【问题讨论】:
-
您的示例选项中是否缺少“遏制”?像这样: $('.draggable').draggable({ contains: "parent" }); 只有这样我才能重现您的问题。
-
你确定你没有看到这个问题吗?问题是被拖动的元素以不同的比例移动,因此比光标快或慢。
标签: jquery draggable webkit-transform