Сообщение от Narko
|
Даже если брать твой пример, то нажми 2 раза на кнопку, бред начинается. Функция выполняется 2 раза.
Как отслеживать, если функция уже нажата, то не выполнять новую функцию.
|
путей решения есть несколько. можно сделать нормальную кнопу и дизейблить ее.
или навешивать обработчик через addEventListener чтобы потом его можно было удалить
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<span id="id1">Кнопка</span>
<span id="id2">Кнопка</span>
<script>
function message(num, id){
var int = setInterval(function(){
num--;
id.innerHTML = num;
if (num == 0) clearInterval(int);
},1000);
}
document.querySelector('#id1').addEventListener('click', function(e) {
message(1000, e.target);
this.removeEventListener(e.type, arguments.callee);
}, false);
document.querySelector('#id2').addEventListener('click', function(e) {
message(1000, e.target);
this.removeEventListener(e.type, arguments.callee);
}, false);
</script>
</body>
</html>