我正在使用ReactJS开发复杂的单页面应用程序。
这个页面最初是一个桌面浏览器应用程序,到处都有很多“onclick”监听器,包括内部代码,还有我们无法轻易修改的外部插件/库。
但是现在我们已经做出了响应,它可以在移动网站和Cordova / Phonegap应用程序中使用。
只需使CSS响应即可生成一个不错的结果,而根本不会引入touchstart
事件。
当用户使用单击侦听器触摸元素时,将调用侦听器并且单击事件正确冒泡(except on iOS but it can be solved)
所以,除非我试图实现触摸特定的复杂功能,如拖放和触摸,或特殊的“合成事件”,如按,捏,点击,滑动(通常由移动专用库提供),为什么会我需要以任何方式使用touchstart吗?
例如,根据设备功能,我在应用程序中often see people trying to mix both click and touchstart。
但如果click
有效,为什么我需要关心touchstart
?
touchstart
有哪些优势尚未由click
处理?
注意:这完全不是300毫秒的点击延迟,可以通过其他方式解决。
答案 0 :(得分:0)
我们使用touchstart / touchmove的唯一原因是拖动事件,例如滚动/内部搜索检测。
例如,我们想要检测滚动的结尾以进行无限滚动。
在桌面上我们可以使用:
$('.whatever').scroll({ blahhhh
但在移动设备上我们使用:
$('.whatever').on('touchmove', blahhhh
另外你一定要结帐How to bind 'touchstart' and 'click' events but not respond to both?