1

我对 JavaScript 很陌生,所以如果这个问题很幼稚/很明显,请原谅我。我正在使用 jQuery UI 拖放(以及来自该站点的 jQuery 碰撞检测库:http: //eruciform.com/static//jquerycollision/jquery-collision-drag-collision-example.html)。虽然我在检测哪些 div 相互碰撞时没有问题(并且用 ($(this).collisions(".collisionclass")).each(function() ...))对所说的 div 做一些事情,但我没有无法找到未相互碰撞的 div 列表或目标碰撞器,至少不是一个优雅的解决方案(原因是我想对那些剩余的未碰撞 div 执行其他操作)。

有谁知道一种优雅的方法来查找哪些 div 没有碰撞而不诉诸蛮力(例如,将所有这些 div 添加到集合中,并且每次发生碰撞事件时检查原始集合中的哪些不在生成的碰撞集合中)? 通过上面链接的示例源代码似乎只是在碰撞的原始 div 部分上添加和删除动态 div 覆盖,但这并没有告诉我如何检测未碰撞的 div ...

4

1 回答 1

1

您可以使用 jquery not方法。

var not_collided = $(".item").not(".collisionclass")

从技术上讲,如果它们具有“collisionclass”类,这将检查所有项目,但是在您获得大量项目之前它仍然有效。

于 2012-08-27T19:35:56.553 回答