throttle

Voici comment limiter les appels sur un événement comme mousemove.

Iterating a NodeList With The for..of Loop


const listDivs = document.querySelectorAll('selectors')


for(let div of listDivs) {
    // action
}

// loop through getting the item and it's index
for(let [index, div] of listDivs.entries()) {
    // action
}


Event : once !

Pour mettre en place un événement unique 
el.addEventListener("click", function() {

}, {once : true});

Pour les ancienne version, il faut utiliser remove

el.addEventListener("click", function() {

     // one
     el.removeEventListener("click", arguments.callee);

    // action

}, false);

L'événement INPUT

HTML

<session id="text">
<input name="Text 1" text="text"/> ...
        <input name="Text i" text="text"/> ...
</session>

<div id="result"></div>

JS

Nous voulons observer N inputs mais nous n'écoutons qu'un élément conteneur ( session ).

L'objet evt donnera le nom et la valeur de la target ( l'input concerné par la saisie ) 

let text = document.querySelector('#text');

text.addEventListener('input', function(evt)
{
    document.querySelector('#result').textContent = `${evt.target.name} input : ${evt.target.value}`;
});

En action

Utiliser event !