我通过将Famo.us的Fastclick放在我的主要视图之一的顶部来使用它,如下所示:
var FastClick = require('famous/inputs/FastClick');
在iOS7 Safari和Chrome浏览器中,Fastclick可以消除300ms的延迟,但是当我单击从DOM中移除“覆盖”表面的表面(例如,后退按钮)时,这两个表面-被移除的表面和新的表面- -接收点击事件。因此,例如,如果我单击覆盖表面上的“后退”按钮,并且在其下面的表面上有一个“后退”按钮,则两个后退按钮都会触发并移除两个表面。
当我删除FastClick时,问题已解决,但300ms的延迟返回。
我已经在台式机上检查了该问题,即使存在FastClick,该问题也没有发生。我也用console.log'd click事件,它们只触发一次。这表明,在移动设备上,问题出在从DOM去除“覆盖”表面之后,我的手指仍在玻璃上。
关于如何解决的任何想法?
最佳答案
想出了如何防止这种情况。
this.buttonSurface.on('click', function(e){
if(e.detail != null) return false;
}.bind(this));
关于javascript - Famo.us“Fastclick”在移动设备上触发两次点击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24020535/