У вас есть два touchstart
события на одинаковых элементах.Следовательно, он выполняет interact
и highlight
одновременно.Это намеренно?Кроме того, вы не передаете event
в вашу highlight(e)
функцию.Вам нужно обернуть его в анонимную функцию, которая передает его:
b.addEventListener('touchstart',function(e) { highlight(e); }, false);
Кроме того, не забудьте добавить false
в ваше объявление addEventListener
.
РЕДАКТИРОВАТЬ: Мы не хотим иметь двух прослушивателей событий для touchstart
для одного и того же элемента.Нам нужно изменить оператор forEach
, а также функцию highlight
.
var b = document.getElementById('STOP');
var c = document.getElementById('START');
var array = [b, c];
array.forEach(function(element, index, array) {
element.addEventListener('touchstart', function(event){ highlight(event); }, false);
});
function highLight(event) {
start = new Date(); // not sure what you're trying to accomplish here
event.preventDefault();
event.currentTarget.setAttribute('class', 'active');
if(start) {
alert("test")
}
start = null;
}