iOS - 只能点击一次 html 按钮

Posted

技术标签:

【中文标题】iOS - 只能点击一次 html 按钮【英文标题】:iOS - can only hit html button once 【发布时间】:2018-03-12 21:46:06 【问题描述】:

我从一个受欢迎的有趣的德国农民那里创建了一个soundboard 页面,上面有很多按钮。我注意到我的兄弟在他的苹果智能手机(iphone 7)上无法多次按下按钮。如果他再次按下相同的按钮,则不会播放任何声音。他甚至用chrome浏览器试了一下,结果一样。在 windows phone 和 android 上它工作得非常好,对于桌面电脑也是如此。

这是编码错误还是与不良 ios 软件有关?

这是相关代码。

按钮示例:

<button class="button" data-mp3-file="audio/favorit03.mp3">
    Hör auf hieeer!!
</button>
<button class="button" data-mp3-file="audio/favorit12.mp3">
    Hier wirst du verrückt du!
</button>

JavaScript:

var allAudioFiles = [];

$(".button").each(function() 

    var audio = ;
    audio["id"] = $(this).data("mp3-file");
    audio["audioObj"] = new Audio($(this).data("mp3-file"));

    allAudioFiles.push(audio);
);

$(".button").click(function() 

    var id = $(this).data("mp3-file");
    var audio = $.grep(
        allAudioFiles, 
        function(e) 
            return e.id === id; 
        
    );
    var sound = audio[0].audioObj;
    sound.play();
);

【问题讨论】:

@Taplar,抱歉,我不小心从代码中删除了 sound.play(); 【参考方案1】:

试试这个

$(".button").click(function()    
  document.getElementById('audioSource').src = $(this).data("mp3-file");
  var audio = document.getElementById('audio');
  audio.load();
  audio.play();
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="button" data-mp3-file="http://mattersofgrey.com/audio/Minecraft-purr1.mp3">test1</button>
<button class="button" data-mp3-file="http://mattersofgrey.com/audio/Minecraft-purr2.mp3">test2</button>
<button class="button" data-mp3-file="http://mattersofgrey.com/audio/Minecraft-purr3.mp3">test3</button>
<audio id="audio">
  <source id="audioSource" src="" type="audio/mpeg"></source>
  Your browser does not support the audio format.
</audio>

【讨论】:

以上是关于iOS - 只能点击一次 html 按钮的主要内容,如果未能解决你的问题,请参考以下文章

用js实现点击按钮 显示div 然后两秒后消失 但是只能执行一次 怎么才能做到可以重复调用 求助

怎么让html的按钮只能点一次

iOS解决按钮短时间内多次点击只触发一次事件方法

iOS解决按钮短时间内多次点击只触发一次事件方法

在HTMl中写一个提交按钮你点击一次按钮上面的javascript就记录一次点击按钮的次数

javascript中怎么实现按钮只能点击一次?