为什么在可拖动事件中显示和隐藏snap对象时,可拖动元素不响应snap选项?
why draggable elements aren't responding to snap options when snap object is being shown and hidden during draggable events?
不知道标题是否足够清晰,但我想让一个可拖动的元素捕捉到隐藏在第一个地方的一些参考线,当我开始拖动元素时,它们被显示…但是这个元素不适合它们……就像,它不认识周围的东西....为什么呢?
I Made this Fiddle
http://jsfiddle.net/cLs7mq4p/代码真的很简单
$(".block").draggable(
{
snap: ".guide",
snapTolerance: 10,
//grid: [10,10],
start: function(event, ui) {
$(".guide").show();
},
stop: function( event, ui) {
$(".guide").hide();
}
});
其中HTML是这样的;
<div class="h-line guide" style="top: 100px"></div>
<div class="h-line guide" style="top: 400px"></div>
<div class="v-line guide" style="left: 80px"></div>
<div class="v-line guide" style="left: 400px"></div>
<div class="block"></div>
我得到了Jquery UI的帮助,因为它是一个bug,这个功能从来没有被任何其他人问过…所以这是使它工作的另一种选择:)
通过使用on mousedown事件
$(".block").draggable({
snap: ".guide",
snapTolerance: 10,
stop: function( event, ui) {
$(".h-line").css("display", "none");
}
}).on( "mousedown", function() {
$(".h-line").css("display", "block");
});
这是jQUery UI支持修复的JSFiddle和他们的评论:
你好msqar,感谢您花时间为jQuery UI You做贡献可以通过使用mousedown侦听器获得您正在寻找的行为吗因此,显示/隐藏发生在draggable的snap逻辑运行之前:http://jsfiddle.net/tj_vantoll/cLs7mq4p/2/。这不是我们打算在库中添加对的支持,因为snap选项还没有保留在可拖动小部件重写中。还有这个行为这是以前没有人要求过的。
希望它也适用于其他人:)
相关文章:
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 删除对HTML元素的拖动
- jQuery UI可排序-多连接列表拖动
- 禁用SVG拖动
- 旋转后拖动对象
- JQuery UI可拖动潜水与滚动棒到鼠标
- jsPlumb-拖动克隆而不进行复制
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 如何使元素在可拖动元素内可单击
- 如何在使用Kinetic拖动同一对象后,在旋转动画中保持先前的偏移
- 在d3中拖动一条线
- 使元素在iframe中可拖动
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- 如何使所有绘制的(矩形、圆形、直线、多边形)都可拖动?纯JS
- 拖动开始时更改可拖动元素的大小
- 只能使用snap.svg在svg中拖动圆圈
- Snap.svg沿着一条路径拖动一个组并保存位置
- 为什么在可拖动事件中显示和隐藏snap对象时,可拖动元素不响应snap选项?
- jQuery UI可拖动Snap恢复不工作
- RaphaelJS/Snap.SVG拖动事件