вызовите addEventListener в цикле с переменной

Я новичок в JavaScript. У меня есть 6 элементов, которые я хочу оснастить очень похожими слушателями событий. У меня есть работающее решение для перебора, которое я хочу улучшить, но (я думаю) у меня проблемы с замыканиями Java Script.

Рабочий код:

  elem = document.getElementById("court1button");
  elem.addEventListener("click", wassern_id1, false);
  elem = document.getElementById("court1xbutton");
  elem.addEventListener("click", abbrechen_id1, false);

  elem = document.getElementById("court2button");
  elem.addEventListener("click", wassern_id2, false);
  elem = document.getElementById("court2xbutton");
  elem.addEventListener("click", abbrechen_id2, false);

  ... 4 more times ...

  function wassern_id1(event) {
    wassern(1, event)
  }
  function wassern_id2(event) {
    wassern(2, event)
  }

  ... 4 more times ...

  function abbrechen_id1(event) {
    abbrechen(1, event)
  }
  function abbrechen_id2(event) {
    abbrechen(2, event)
  }

  ... 4 more times ...

  function wassern(id, event) { ...
  function abbrechen(id, event) { ...

У меня простой цикл, который не работал, когда я нашелhttps://stackoverflow.com/a/2520602/2536029 и понимаю, почему это не могло работать. Затем я придумал следующий код, который тоже не работает, но теперь я теперь больше понимаю, почему он не работает. Может кто-нибудь объяснить мне и помочь мне создать рабочий код?

for (var id = 1; id <= 6; id++) {
  elem = document.getElementById("court" + id + "button");
  elem.addEventListener(
    "click",
    function(id2, event2){ 
      wassern(id2, event2); 
    }(id, event),
    false
  );
  elem = document.getElementById("court" + id + "xbutton");
  elem.addEventListener(
    "click",
    function(id2, event2){ 
      abbrechen(id2, event2); 
    }(id, event),
    false
  );
}

PS: проблема в том, чтоevent не определен во время вызова

function wassern(id, event) { ... event.stopPropagation();

Ответы на вопрос(1)

Ваш ответ на вопрос