У меня есть скрипт, который сканирует страницу для всех кнопок и записывает клик каждого в базу данных. К сожалению, данные кнопки не будут отправляться до второго щелчка. Я использую addEventListener и removeEvent прослушиватель в правильном месте?JavaScript, почта, кнопка не даст ответа сервера до второго щелчка
var trkButtons = document.getElementsByTagName('input');
for (var i = 0; i < trkButtons.length; ++i) {
//submit button
if (trkButtons[i].getAttribute("type") == "submit") {
trkButtons[i].addEventListener("click", addBtnClickListener, false);
}
//image button
if (trkButtons[i].getAttribute("type") == "image") {
trkButtons[i].addEventListener("click", addBtnClickListener, false);
}
//file upload
if (trkButtons[i].getAttribute("type") == "file") {
trkButtons[i].addEventListener("click", addBtnClickListener, false);
}
else { }
}
function addBtnClickListener(e) {
e.preventDefault();
this.click();
this.removeEventListener('click', addBtnClickListener, false);
var eventType = "button.click";
var ctrBtnText = this.value;
track(this, eventType, '', '', ctrBtnText, '', '', '');
}
Почему вы проверяете прослушиватель событий? Почему вы запускаете новое событие click? Чего вы пытаетесь достичь? – sudee
Я регистрирую клик в базе данных, мне нужно удалить его и снова запустить его, чтобы остановить щелчок на стороне сервера до его регистрации. Его для отслеживания. – esoteric