Javascript .blur()声音通知

Javascript .blur()声音通知,javascript,jquery,html,Javascript,Jquery,Html,我有两个文本框,其值为“是”和“否”。当我在第一个文本框中键入“是”时,它会发出嘟嘟声,其余文本框也会出现同样的情况。当我在相应的文本框中输入正确的值时,声音应该只播放一次 在我的例子中,声音一次又一次地重复。。。我不知道原因是什么 <input type="text" id="question"/> <input type="text" id="question1"/> <audio src="beep.mp3" id="mp3" preload="auto"&

我有两个文本框,其值为“是”和“否”。当我在第一个文本框中键入“是”时,它会发出嘟嘟声,其余文本框也会出现同样的情况。当我在相应的文本框中输入正确的值时,声音应该只播放一次

在我的例子中,声音一次又一次地重复。。。我不知道原因是什么

<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);

函数检查结果(){
if($('#question').val().toLowerCase()=='yes'){
document.getElementById(“mp3”).play();
}
if($('#问题1').val().toLowerCase()=='no'){
document.getElementById(“mp3”).play();
}
}
$('input').blur(检查结果);

由于您正在检查
模糊
事件,因此声音会播放不止一次,因此每次用户从框中模糊时,只要框中有正确答案,声音就会重放。相反,您应该检查
keyup
事件

例如:

var answers = {
    'question': 'yes',
    'question1': 'no'
};

function checkResults() {
    var $this = $(this), val = $this.val().toLowerCase();

    for (var k in answers) {
        if (answers.hasOwnProperty(k)) {
            if (answers[$this.attr('id')] && answers[$this.attr('id')] === val) {
                  play(); 
            }
        }
    }   
}

function play() {
    var sound = document.getElementById('mp3');
    sound.pause();
    sound.currentTime = 0;
    sound.play();
}

$('input').on('keyup', checkResults);
JSFIDLE演示


您的意思是:
.val()
否时的
.pause()
。也就是说,如果我在文本框中输入的值正确,则只播放一次嘟嘟声。Moogs,Thanq表示一个好答案,但是否可以为每个正确答案加+1分。我试过了,但正确答案的分数是2,下一个答案的分数是0。任何想法。。。这是关于分数的我的小提琴…嗨,穆格斯,检查过的小提琴,除了2个小问题外,它很好。(1)。。正如我所说的,每个正确答案得+1分,但在你的小提琴中,我为两个文本框写了“是”和“否”,分数变为2分。现在你把光标放在文本框1中并使用TAB键,这样它就会转到文本框2,分数会增加,如果你像我上面说的那样做,分数会增加,就像(3,4,…)。我不想发生这种事。最后的分数应该是2分,因为只有两个问题。(2) …似乎小提琴在ios/android设备上不起作用,因为我按下的每个角色都在重复音乐。嘿,穆格斯,对不起,如果我的问题打扰了你。