我正在制作一个函数,该函数应该评估您是否插入了正确的答案。但是,如果输入错误的单词,然后转到另一个输入字段,它将评估您插入的单词,如果输入错误,它将变为红色。现在出现了问题:当单词变成红色时,您很可能会转到另一个输入字段,这是因为它具有jquery的blur
功能。如果您单击上一个输入字段来更正错误,则会将您刚刚单击以填写的空输入字段也填写为错误的输入字段(因为再次出现模糊)。我知道我必须创建一些东西来评估输入字段是否为空(如果是):不评估,如果是,则评估。从我尝试过的方法来看是行不通的。这就是我现在所拥有的:
var sylInput = $('<input/>', {
'type': 'text',
'class': 'form-control syl-input',
'name': +c++,
'id': +idsyll++
}).on('blur', function() {
var cValue = $(this).val();
if (cValue === syllable) {
correctSylls.push(cValue);
console.log(correctSylls);
}
if (exercise.syllables.length === correctSylls.length) {
$(this).closest('.syll-row').find('input.syl-input').addClass('btn btn-success').removeClass('form-control').prop('disabled', true);
S.addRight();
S.playRight();
} else if (cValue !== syllable){
$(this).css({'color':'#e00413'});
S.playWrong();
S.addWrong();
}
如何制作这样的if
语句,应该放在哪里? else if
语句也会计算一个空的输入字段。
答案 0 :(得分:0)
这应该是骗人的。
.on('blur', function() {
var cValue = $(this).val();
if(cValue === "") {
return;
}
//rest of your code.
});