请推荐一个JQuery插件来处理可拖动元素的碰撞检测
我们正在使用Draggable JQuery UI插件,需要禁止在我们的元素之间重叠。 我们自己可以写一些碰撞检测,但更喜欢使用经过测试的包。 有什么建议?
您可以尝试jquery-collision plus 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插件出现了:
可碰撞的可拖动物
看起来还早,但可能值得一试。
我知道这个问题很老了,但也许你会觉得这很有用:我们的jQuery碰撞检查插件 。
描述是德语,但它应该是不言自明的。 您可以使用两个单个元素甚至是元素集,并返回一组所有碰撞元素。
Google告诉我,gameQuery是一个JQuery插件,具有“碰撞”function:
http://gamequery.onaluf.org/#manual
在上面的页面中搜索“碰撞”一词。
这个谷歌搜索可以给你几个其他选择:
假设,但我认为你需要的东西可以在这里找到:
$ .event.special.drop
它使用jQuery着名的$ .event.special.drag来创建de drop事件。 您可以将自己的javascript代码放在.bind( "drop", function( event ){
此函数中的this元素表示您已定义的类“drop”的对象,event.dragTarget是正在进行的对象拖累。
上面链接的网站上有更多文档。 无论如何,这就是我所需要的。