Вы звоните дважды, здесь:
test.addEventListener('click', trySwitch(1));
test.addEventListener('dblclick', trySwitch(2));
trySwitch(1)
и trySwitch(2)
не являются функциями, они являются функцией вызовами . То, что вы передаете addEventListener
, является результатом оценки trySwitch(/* 1 or 2 */)
, поэтому некоторые строки, следовательно, при нажатии / dblclick ничего не произойдет.
Сделать trySwitch
функцией более высокого порядка:
function trySwitch(val) {
return function() {
let answer=""
switch(val) {
case 1: answer="text number one";
break;
case 2: answer="text number two";
break;
default: answer = "literally nothing";
}
return description.innerHTML= answer;
}
}