[ES5] ループしながらaddEventListnerをバインドする

 
document.querySelectorAll で取得した要素にループしながら変数を動的にセットしたかったんだけど Adobe のタグマネージャーが2021年4月現在で ES6 未対応で let 使えなくて残念。

仕方がないので無名関数で包み込んだのでメモ。

var tags = document.querySelectorAll('.cmp-tags__element');
for (var i=0; i<tags.length; i++){
    (function(n){
        tags[n].addEventListener('click', function(){
            s.linkTrackVars = 'eVar101,events';
            s.eVar101 = tags[n].innerText.trim();
            s.linkTrackEvents = s.events = 'event201';
            s.tl(true, 'o', 'Tag Click');
        });
    })(i);
}

早く ES6 使えるようにならんかのう。