Javascript 检测浏览器/设备是否支持双击事件
我有一个包含多行的表。 每行单击一次即可选择。 双击该行将在同一窗口中打开该行所代表的数据表 使用移动设备时,双击(双击?)不会触发我的双击事件,而移动浏览器只是缩放 经过思考,我认为移动设备只需单击/点击一下就可以打开数据表 现在,在为表设置事件侦听器时,我正在检测它是否是移动设备浏览器,代码如下:Javascript 检测浏览器/设备是否支持双击事件,javascript,android,jquery,ios,mobile,Javascript,Android,Jquery,Ios,Mobile,我有一个包含多行的表。 每行单击一次即可选择。 双击该行将在同一窗口中打开该行所代表的数据表 使用移动设备时,双击(双击?)不会触发我的双击事件,而移动浏览器只是缩放 经过思考,我认为移动设备只需单击/点击一下就可以打开数据表 现在,在为表设置事件侦听器时,我正在检测它是否是移动设备浏览器,代码如下: if( /Android|webOS|iPhone|iPad/i.test(navigator.userAgent) ) { // Single click event bind, ope
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
}
与其依赖用户代理,我更愿意做一些功能检测,这样任何无法双击的设备都可以工作
我试着检测我的Android设备上是否有dblclick事件,它是可用的。我想这是有道理的,因为浏览器确实支持它,但设备在双击时会触发不同的事件 我唯一能想到的另一件事是检查
touchstart
等事件是否可用,但这似乎与检查用户代理一样错误
有没有什么好方法可以检测浏览器/客户端是否支持预期的双击 可以尝试使用超时来检查第一次单击后是否有另一次单击
$(Elm).click(function(evnt){
clicks++;
if (clicks == 1) {
setTimeout(function(){
if(clicks == 1)
// Single click event bind, open
else
// Double click event bind, open
},2000);
});
你使用这个事件吗$dblclick()@是的,这就是我正在使用的jQuery事件。将jQuery添加到我的标记中,以澄清jQuery在我的案例中是可用的。感谢您的回答!但是,上述情况是否会使支持双击的设备无法单击(选择一行)?我不知道设备是否可以双击,但您可以绕过单击并检查是否是双击。。