【发布时间】:2010-07-23 11:14:44
【问题描述】:
如果我有一个包含很多单元格的表格,假设 50 行 x 50 列,那么将 jquery “droppable”应用于每个单元格是否效率低?
例如,我可以将 droppable 分配给父 TABLE,然后以某种方式捕获项目被丢弃的实际元素(即 TD)吗?如果我没记错我的事件委托,在任何给定事件中,TD 首先收到它,然后是 TABLE。
有人可以赐教吗?
杰森
【问题讨论】:
如果我有一个包含很多单元格的表格,假设 50 行 x 50 列,那么将 jquery “droppable”应用于每个单元格是否效率低?
例如,我可以将 droppable 分配给父 TABLE,然后以某种方式捕获项目被丢弃的实际元素(即 TD)吗?如果我没记错我的事件委托,在任何给定事件中,TD 首先收到它,然后是 TABLE。
有人可以赐教吗?
杰森
【问题讨论】:
是的,您可以使用事件委托来做到这一点。尝试监听每个 TD 标签上的点击在性能方面是不行的,并且会导致内存泄漏问题。在表格标签上附加一个事件监听器并拦截点击事件并确定点击了哪个单元格。看看这个,它使用表格上的事件委托来捕获对 TD 元素的点击:
http://www.sitepoint.com/blogs/2008/07/23/javascript-event-delegation-is-easier-than-you-think/
【讨论】: