Не совсем. Но игнорировать cv -qualifications на void или делать их ошибки могли бы создать ненужную сложность с точки зрения как реализации компилятора, так и кода конечного пользователя. Рассмотрим шаблоны типа
template & lt; typename T & gt; const ... ...
Нет причин использовать с помощью void в этом сценарии особый случай (больше, чем он есть), он просто создаст головные боли.
Кроме того, в то время как const void
не помогает, const void *
имеет свои применения.
Поскольку точно так же, как сообщение об ошибке сообщает вам, что NodeList
s не имеет метода a addEventListener
. Вы должны перебирать нодлист, а addEventListener
для каждого элемента внутри - при условии, что вы хотите добавить N слушателей.
В качестве альтернативы, выбирает только один элемент , а остальная часть вашего кода будет работать как написано.
Метод querySelectorAll()
возвращает NodeList , который представляет собой набор узлов.
Следовательно, вам нужно повторить его, чтобы присоединить прослушиватели событий
var el = document.querySelectorAll('.block');
for(var i=0; i < el.length; i++){
el[i].addEventListener('click', function () {
alert('hello');
}, false);
}