2015-10-20 41 views
0

您好我要寻找一个clickon /“抽头” /“touchstart”工作/“点击”clickon /“抽头” /“touchstart” /“点击”事件上的所有设备和浏览器

这一工程上所有设备,

其中一些在Android上工作,然后一些在IOS上工作,但有一个是为所有人工作?

的我得到了3种不同的功能,包括什么,我认为是大多数人的那一刻,

$('.tel').on('tap',function(event) {} 
$('.tel').on('touchstart' ,function(event) {} 
$('.tel').on('click' ,function(event) {} 

是那里可以为所有的工作?这已经过适当的测试?

+0

'touchstart'和'tap'不是相同。它可以与'mousedown'和'click'进行比较。无论如何,如果你想在一行中做到这一点,你可以简单地键入''('。tel')。on('tap touchstart click',function(event){});'。此外,还有一些图书馆可以帮助移动设备。我个人使用了一个叫做[quojs]的小型图书馆(https://github.com/soyjavi/quojs)。 – kosmos

+0

非常感谢你的图书馆,我会看看那个,看看我能从中获得什么 –

回答

0

很酷的事情是,你可以使用所有3在一枪!

$('.tel').on('tap touchstart click',function(event) {} 

另一种选择是检测事情开始之前需要监听的事件类型。

var CLICK = (navigator.userAgent.match(/ios|android|ipad/i) ? 'touchstart' : 'click') 

如果用户代理相匹配的移动UA,如果是你的听众分配点击touchstartclick

这将检查:

$('.tel').on(CLICK,function(event) {} 
+0

我目前正在研究的页面已经关闭。但我相信我试过这个,当我做了这个功能的时候,跑了两次'tap'和'click'。但我会再看一遍,以确保我不会误读任何人阅读这个 –

+0

你应该能够逃脱touchstart和实际点击与水龙头。我相信这已经过时了。或者看到我更新的答案为另一个解决方案 –