问题描述
我正在使用ReactJS开发一个复杂的单页应用程序。
该页面最初是一个桌面浏览器应用程序,到处都有许多“ onclick”侦听器,包括内部代码,还有我们不容易修改的外部插件/库。
但是现在,我们使其响应迅速,并且可以在移动网站和Cordova / Phonegap应用程序中使用。
仅使CSS响应即可产生不错的结果,而touchstart不引入touchstart事件。
当用户使用点击监听器触摸元素时,将调用该监听器,并且click事件会正确冒泡( )
因此,除非我尝试实现特定于触摸的复杂功能(如带触摸的拖放)或特殊的“合成事件”(如按,捏,轻按,滑动(通常由移动专用库提供)),否则为什么我需要使用touchstart以任何方式?
例如,我根据设备功能在应用程序中 。
但是,如果click有效,为什么我需要关心touchstart ?
尚未通过click处理的touchstart的优点是什么?
注意:这根本不是300ms的点击延迟,可以通过其他方式解决。
1楼
我们使用touchstart / touchmove的唯一原因是发生拖动事件,例如滚动/内部倾斜检测。
例如,我们要检测无限滚动的滚动结束。
在桌面上,我们可以使用:
$('.whatever').scroll({ blahhhh
但在移动设备上,我们使用:
$('.whatever').on('touchmove', blahhhh
另外,您绝对应该检出