Как правильно перебрать querySelectorAll?
Решать за Вас не буду, но подскажу.
1) Получаете элементы через querySelectorAll
2) Преобразуете в массив - Array.prototype.slice.call(result)
3) Идете циклом forEach и вешаете обработчик на каждый элемент
caniuse.com/#feat=queryselector не работает на некоторых safari, неочень старом андроиде и ещё кое-где.