我正在使用jquery,但我不想使用jquery mobile,因为它太大了,我觉得我不需要它。我所要做的就是获得触摸事件。这就是我所拥有的。
$('#menuButton').on('click touchstart', function(){
$('#menu').toggleClass('block')
});
它只是有点工作,但似乎在我的手机上发射了两次。我想我应该以某种方式检查touchstart和touchend。这需要适用于所有类型的设备,希望如此。谢谢!
答案 0 :(得分:1)
看哪!触摸的生命周期:
现在点击鼠标的生命周期:
如果您正在侦听touchstart和click,则事件将在鼠标或触控板计算机上触发一次,在触摸设备上触发两次,因为您在生命周期中正在侦听2个事件。
如果您真的想使用点击桌面和touch触摸设备(在许多情况下是一个好主意),您可以这样做:
var clickEvent = (isMobile)?'touchstart':'click';
$('#menuButton').on(clickEvent, function(){
$('#menu').toggleClass('block')
});
如何找到isMobile
是另一回事。
更新:如果你感兴趣的是npm isMobile