我们正在使用Draggable JQuery UI 插件并且需要禁止元素之间的重叠。我们可以自己编写一些碰撞检测,但更愿意使用经过测试的包。有什么建议?
请推荐一个处理可拖动元素碰撞检测的JQuery插件
IT技术
javascript
jquery
plugins
draggable
collision
2021-03-06 04:31:00
5个回答
您可以尝试jquery-collision加上jquery-ui-draggable-collision。完全披露:我刚刚在 sourceforge 上编写并发布了这些。
第一个允许:
var hit_list = $("#collider").collision(".obstacle");
这是与“#collider”重叠的所有“.obstacle”的列表。
第二个允许:
$("#collider").draggable( { obstacle: ".obstacle" } );
这给你(除其他外),一个“碰撞”事件绑定到:
$("#collider").bind( "collision", function(event,ui){...} );
你甚至可以设置:
$("#collider").draggable( { obstacle: ".obstacle", preventCollision: true } );
防止“#collider”在拖动时与任何“.obstacle”重叠。
我知道这个问题很老了,但也许你会发现这很有用:我们的 jQuery 碰撞检查插件。
描述是德语,但应该是不言自明的。您可以使用两个单个元素或什至元素集,并将返回一组所有碰撞元素。
Google 告诉我 gameQuery,一个 JQuery 插件,有一个“碰撞”功能:
http://gamequery.onaluf.org/#manual
在上面的页面上搜索“碰撞”一词。
这个谷歌搜索可以给你几个其他的选择:
假设,但我认为您需要的可以在这里找到:
它使用 jQuery 著名的 $.event.special.drag 来创建 de drop 事件。您可以将自己的javascript代码.bind( "drop", function( event ){
放在此函数内的this元素下,
代表具有您定义的类“drop”的对象,而 event.dragTarget 是被拖动的对象。
上面链接的站点上的更多文档。无论如何,这就是我所需要的。
其它你可能感兴趣的问题