不知道标题是否足够清楚,但是我想让可拖动元素捕捉到最初隐藏的一些参考线,当我开始拖动该元素时,它们会显示出来……但是该元素没有不能抓住他们...这就像,它无法识别周围的事物....为什么呢?
我做了这个小提琴
代码真的很简单
$(".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做出贡献您可以使用mousedown侦听器获得所需的行为,以便在可拖动的捕捉逻辑运行之前进行显示/隐藏:http : //jsfiddle.net/tj_vantoll / cLs7mq4p / 2 /。这并不是我们打算在库中添加对它的支持,因为snap选项未保留在可拖动小部件重写中。同样,这种行为也是以前没有人要求过的。
希望它也对其他人有用:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句