eru*_*orm 15
您可以尝试jquery-collision和jquery-ui-draggable-collision.完全披露:我刚刚在sourceforge上编写并发布了这些内容.
第一个允许这个:
var hit_list = $("#collider").collision(".obstacle");
Run Code Online (Sandbox Code Playgroud)
这是与"#collider"重叠的所有".obstacle"的列表.
第二个允许:
$("#collider").draggable( { obstacle: ".obstacle" } );
Run Code Online (Sandbox Code Playgroud)
这给你(除其他外)一个"碰撞"事件绑定到:
$("#collider").bind( "collision", function(event,ui){...} );
Run Code Online (Sandbox Code Playgroud)
你甚至可以设置:
$("#collider").draggable( { obstacle: ".obstacle", preventCollision: true } );
Run Code Online (Sandbox Code Playgroud)
防止"#collider"在拖动时重叠任何".obstacle".
在jQuery UI draggable中没有用于碰撞检测的内置函数,除非你实际上是在进行排序之类的事情.最接近你想要的东西是可排序的plceholder,看起来像这样.
短版本是碰撞检测,每个拖动元素在性能方面都不是微不足道的(取决于元素的数量),所以它被排除在库之外,因为它是一个非常罕见的请求.但是,如果您确实需要碰撞检测,则可以在可拖动drag事件中自己计算碰撞.
| 归档时间: |
|
| 查看次数: |
19913 次 |
| 最近记录: |