我有一个包含多行的表格。 每行都可以通过单击该行进行选择。 双击该行将在同一窗口中打开数据表。
当使用移动设备时,双击(双击触摸?)不会触发我的双击事件,而移动浏览器只会缩放。
经过一些思考,我认为对于移动设备来说,用单击/轻敲打开数据表更加合理。
现在,我正在检测是否为移动设备浏览器,并使用以下代码设置表格事件监听器:
if( /Android|webOS|iPhone|iPad/i.test(navigator.userAgent) ) {
// Single click event bind, open
} else {
// Single click event bind, select
// Double click event bind, open
}
与其依赖用户代理,我更愿意进行一些功能检测,以便使任何无法执行双击的设备正常工作。
我尝试检测我的安卓设备是否支持dblclick事件,实际上是可以的。
我想这是有道理的,因为浏览器确实支持它,但当双击时,设备会触发不同的事件。
我能想到的另一种方法是检查touchstart
等事件是否可用,但这似乎和检查用户代理一样错误。
有没有好的方法来检测浏览器/客户端是否支持预期的双击?