TL;DR: “click”监听器对表格单元格(td)和表头(th)不准确,在使用iPad 2的移动Safari浏览器时,点击似乎超出了单元格的边界。这是否是已知问题,有没有解决方法?
这是一个相当具体的问题,并且没有示例代码(也不需要)。希望有人能找到这个问题并在此之前解决它!
我有一个使用DataTables.net和jQuery UI构建的表格。虽然这应该是无关紧要的,但我仍想提一下。该表格在许多不同的元素上侦听点击事件(我认为移动Safari只将其转换为轻拍),包括行标头(用于排序)和某些单元格内容。
在Mac上使用Inspector(与iPad连接)后,我可以清楚地看到在填充、边框、边距甚至是“visibility:hidden”等方面都没有意外重叠的元素。此外,它们是默认行为的表格单元格;不是表格单元格的模拟。
在实际数据的顶行中,如果我在单元格的上半部分任何位置轻点一下,它实际上会触发行标头的点击事件。我将缩放设置到荒谬的级别,以确保我不会不小心碰到标头,并且我已经确认轻点完全发生在表格单元格内,而不是上面的标头。
是否有人知道是否有一种meta属性或某些CSS甚至JavaScript解决方案来解决这种不准确性?至少有一半的时间,我轻点单元格时实际上触发了列排序(来自幽灵标头轻点)。
我唯一能想到的解决方法是在每个单元格的内容中包含一个div或span,将它们从单元格边缘处略微分离,并希望以此人为地减少轻点目标区域。
这是一个相当具体的问题,并且没有示例代码(也不需要)。希望有人能找到这个问题并在此之前解决它!
我有一个使用DataTables.net和jQuery UI构建的表格。虽然这应该是无关紧要的,但我仍想提一下。该表格在许多不同的元素上侦听点击事件(我认为移动Safari只将其转换为轻拍),包括行标头(用于排序)和某些单元格内容。
在Mac上使用Inspector(与iPad连接)后,我可以清楚地看到在填充、边框、边距甚至是“visibility:hidden”等方面都没有意外重叠的元素。此外,它们是默认行为的表格单元格;不是表格单元格的模拟。
在实际数据的顶行中,如果我在单元格的上半部分任何位置轻点一下,它实际上会触发行标头的点击事件。我将缩放设置到荒谬的级别,以确保我不会不小心碰到标头,并且我已经确认轻点完全发生在表格单元格内,而不是上面的标头。
是否有人知道是否有一种meta属性或某些CSS甚至JavaScript解决方案来解决这种不准确性?至少有一半的时间,我轻点单元格时实际上触发了列排序(来自幽灵标头轻点)。
我唯一能想到的解决方法是在每个单元格的内容中包含一个div或span,将它们从单元格边缘处略微分离,并希望以此人为地减少轻点目标区域。
ontouchstart
、ontouchend
)来解决这个问题,或者使用类似 jQuery Mobile 的库,并使用tap()
而不是click()
绑定事件处理程序。 - quietmint