Javascript 美国著名';快速点击&x27;在手机上点击两下

Javascript 美国著名';快速点击&x27;在手机上点击两下,javascript,ios,mobile-safari,dom-events,famo.us,Javascript,Ios,Mobile Safari,Dom Events,Famo.us,我使用Famo.us的Fastclick,要求它位于我的一个主要视图的顶部,如下所示: var FastClick = require('famous/inputs/FastClick'); 在iOS7 Safari和Chrome中,Fastclick可以消除300毫秒的延迟,但当我单击一个从DOM中移除“覆盖”表面的表面(例如,后退按钮)时,两个表面——被移除的表面和新表面——都会收到click事件。例如,如果我在一个覆盖表面上点击一个后退按钮,而在它下面的表面上有一个后退按钮,两个后退按

我使用Famo.us的Fastclick,要求它位于我的一个主要视图的顶部,如下所示:

 var FastClick = require('famous/inputs/FastClick');
在iOS7 Safari和Chrome中,Fastclick可以消除300毫秒的延迟,但当我单击一个从DOM中移除“覆盖”表面的表面(例如,后退按钮)时,两个表面——被移除的表面和新表面——都会收到click事件。例如,如果我在一个覆盖表面上点击一个后退按钮,而在它下面的表面上有一个后退按钮,两个后退按钮都会启动并移除这两个表面

当我删除FastClick时,问题就解决了,但是300毫秒的延迟又回来了

我已经在桌面上检查了这个问题,但它没有发生,即使存在FastClick。我还用控制台记录了点击事件,它们只触发了一次。这表明,在移动设备上,问题是因为我的手指在从DOM中移除“覆盖”表面后仍停留在玻璃上


关于如何解决这个问题有什么想法吗?

我遇到了一个菜单按钮的问题,当单击该按钮时,会出现一个非画布菜单,在第一个菜单按钮的位置有一个按钮。这两个项目都会在iOS上收到点击或“点击”,但在Android上不会(在任何桌面浏览器中也不会)。为了让Famo.us fastclick正常工作,我们浪费了几个小时,因为正如您所说,当您禁用它时,菜单会按预期工作,但最终会出现300毫秒的延迟

我最终使用了最初的fastclick。 在my bower.json中:

"dependencies": {
    "requirejs": "~2.1.11",
    "almond": "~0.2.9",
    "famous-polyfills": "git+https://github.com/Famous/polyfills.git#0.1.1",
    "famous": "~0.2.1",
    "fastclick": "1.0.2"
  }
在我的主应用程序文件中:

var FastClick     = require('fastclick');
…在初始化期间:

FastClick.attach(document.body);

找到了防止这种情况的方法

this.buttonSurface.on('click', function(e){
    if(e.detail != null) return false;
}.bind(this));