Javascript Android web浏览器上的单击延迟停止300毫秒

Javascript Android web浏览器上的单击延迟停止300毫秒,javascript,onclick,touch,Javascript,Onclick,Touch,我有一个页面,按下按钮时播放mp3文件,使用javascript,如: onclick="playAudio" 有明显的300毫秒延迟。我只想通过html5浏览器使用它,只使用Nexus7。所以我不想要IE6等的任何备份代码。我看到的每个解决方案似乎都很复杂,我无法让它工作 没有简单的javascript解决方案吗?在github上查看Fastclick项目。如果我理解你的问题,你只想摆脱触摸设备上300毫秒的延迟。这个项目是一个polyfill,使touch UI更加快速和响应。以下是网址:

我有一个页面,按下按钮时播放mp3文件,使用javascript,如:

onclick="playAudio"
有明显的300毫秒延迟。我只想通过html5浏览器使用它,只使用Nexus7。所以我不想要IE6等的任何备份代码。我看到的每个解决方案似乎都很复杂,我无法让它工作


没有简单的javascript解决方案吗?

在github上查看Fastclick项目。如果我理解你的问题,你只想摆脱触摸设备上300毫秒的延迟。这个项目是一个polyfill,使touch UI更加快速和响应。以下是网址:

用例:

只需包含fastclick库,如下所示:

<script type='application/javascript' src='/path/to/fastclick.js'></script>

希望有帮助

我理解你的问题,这个问题与播放音频有关,不一定与按钮的交互有关。因此,在此基础上,我将尝试在下面回答您的问题

我假设您正在为此使用HTML5音频API。您是否查看了
preload
属性?它有一个名为
auto
的值,告诉浏览器预加载音频可能是个好主意。这样做的缺点是,您可能会给服务器带来不必要的开销,因为无论发生什么情况,您几乎总是下载音频。使用这种方法,您可以通过JavaScript订阅
canplaythrough
事件,告诉您音频何时已下载并准备好播放

有关此主题的更多详细信息,请参见:


我确实有两个问题,但我认为预加载音频更容易。所以我这里的问题是关于300毫秒的延迟。但是谢谢你的推荐。我要测试一些,应用程序的东西。我有很多按钮播放不同的声音,我不知道如何将音频标签变成点击播放按钮(即不是播放图标等),我的音频标签是空的,只是用来生成html5音频-所以简而言之,我认为音频预加载对我不起作用…什么是“触控端”(如他们的文档)?它是javascript函数吗?我应该将onclick更改为touchend吗?或者脚本在不进行编辑的情况下执行onclick函数上必须执行的操作?已经有一段时间了,但为了完整起见,当用户的手指从触摸屏设备的屏幕上移开时,浏览器会触发touchend事件。Mozilla的JS文档中提供了有关各种触摸事件的更多信息,包括touchend:
window.addEventListener('load', function() {
     new FastClick(document.body);
}, false);