【发布时间】:2013-11-16 22:53:53
【问题描述】:
我有一个包含大量jquery UI draggables and a large number of droppables 的页面。我想要一些自定义逻辑来确定 droppable 是否会接受某个可拖动对象,所以我编写了一些逻辑 in the "accept" event of the droppable。它起作用了,但我注意到的一件事是,当您开始拖动项目时,此事件会立即触发,并且当时会为所有可放置对象触发。
这似乎非常低效。我认为当你悬停时它会适合一个单独的droppable,但情况似乎并非如此。您是否有任何理由认为它以这种方式编码(因为它似乎非常低效,好像我有 100 个可放置对象,即使用户仅尝试拖动到单个可放置对象,它也会触发 100 次)而且,有什么方法可以有我想要的行为。
我想将逻辑放入放置事件中以简单地检查并删除可拖动项目(以模拟不接受它),但问题是你没有得到任何漂亮的“还原”动画所以它看起来有点不一致(与基于接受事件的结果相比)
关于我如何仍然可以插入一些自定义逻辑但不浪费循环在我移动某些东西时触发每个可放置的东西(并且仍然获得还原动画)的任何想法?
【问题讨论】:
-
我看到你描述的 droppable 但没有接受事件的接受选项。
-
accept "event" 不只是一个过滤器来决定某些项目是否应该是可拖动的吗?
-
@megawac - 是的,但如果我有 100 个 droppable,当我拖动一个 draggable 时它会触发 100 次。 .也许我高估了它的开销
-
你能创建一个小小提琴来演示一遍又一遍地触发的事件吗?我不知道您描述的
accept事件。谢谢 -
你能提供一个jsfiddle吗?
标签: jquery jquery-ui-droppable