Ghostclicks在移动应用程序中
鬼点击有很多材料/post,我试图更好地理解它。 所以我理解它的方式,鬼点击的原因是在触摸事件后约300ms被调度的点击事件。 jQuery Mobile建议在有可能更改手指位置下方的内容时不使用他们的vclick
事件。
我的第一个问题是:这是否意味着鬼点击只会在click
目标元素与最初触及的元素不同时触发? 所以,比方说,当我触摸一个按钮时,我会写一个数据库条目 – 没有别的。 是否有机会点击鬼?
如果是这种情况,如果我只使用tap
事件而没有任何click
事件,那么这是不是意味着我可以完全阻止鬼点击?
我的最后一个问题是,如果我可以简单地告诉浏览器在使用PhoneGap时不会使用300ms延迟(这会立即解决问题),但我只是猜测我不能这样做因为它可能很难编码成浏览器。
点击事件延迟300毫秒,以检测诸如双击或胖手指错误之类的事情。
是的,只要有可能,您应该使用触摸事件。
是的,有很多方法可以通过做一些JS来实现快速点击。 例如:
- https://developers.google.com/mobile/articles/fast_buttons
- https://forum.jquery.com/topic/how-to-remove-the-300ms-delay-when-clicking-on-a-link-in-jquery-mobile
- http://labs.ft.com/2011/08/fastclick-native-like-tapping-for-touch-apps/
您不必忍受300毫秒的延迟。
如果页面上可以单击的所有内容都安装了相应的vclick
jQuery事件处理程序,那么一种简单的方法可以阻止ghost点击,在body上创建一个touchend
事件处理程序并从中调用preventDefault
:
$(document.body).on('touchend', null, function(e) { e.preventDefault(); });
请注意,这将禁用触摸的常规点击 ,因此除非您向其添加vclick处理程序,否则您拥有的任何常规链接或表单输入都将停止工作。
- 本地存储android和phonegap
- 如何在jquery-mobile / phonegap的$(document).ready()/ onDeviceReady()上加载脚本
- validation在Phonegap中不起作用,但在浏览器中完美运行
- jQuery Mobile Cordova(Phonegap)在每个页面的底部留下空白区域
- 有没有办法在jQuery中检查服务器的可达性测试
- 带有phonegap的后退按钮(和查询移动?)
- 无法从第二个包含的js文件中的第一个包含的javascript文件调用函数
- 如何将Click事件添加到PhoneGap中的动态列表视图?
- window.scrollTo无法在phonegap中工作 – 替代解决方案或解决方法?