音频重复不止一次

Audio Repeating More Than Once

本文关键字:不止一次 音频      更新时间:2023-09-26

我得到了两个值分别为yes和no的文本框。当我在第一个文本框中输入yes时,它会发出嘟嘟声,剩下的文本框也会发生同样的情况。当我在相应的文本框中输入正确的值时,声音应该只播放一次。在我的情况下,声音一遍又一遍地重复……我不知道是什么原因。

<input type="text" id="question"/>
<input type="text" id="question1"/> 
<audio src="beep.mp3" id="mp3" preload="auto"></audio>
function checkResults() {
    if ($('#question').val().toLowerCase() == 'yes') {
            document.getElementById("mp3").play();
    }
    if ($('#question1').val().toLowerCase() == 'no') {
        document.getElementById("mp3").play();
    }

}
$('input').blur(checkResults);

我相信这是由于window onblur事件,你需要检查事件目标,以确保它不是窗口。

<input type="text" id="question"/>
<input type="text" id="question1"/> 
<audio src="beep.mp3" id="mp3" preload="auto"></audio>
<script>
var isWindow = false;
function checkResults() {
    if (!isWindow) {
        if ($('#question').val().toLowerCase() == 'yes') {
            document.getElementById("mp3").play();
        }
        if ($('#question1').val().toLowerCase() == 'no') {
            document.getElementById("mp3").play();
        }
    }
}
$('input').blur(checkResults);
$(window).focus(function() {
    isWindow = false;
});
$(window).blur(function(e) {
    isWindow = true;
});
</script>