Проблема в том, что вы пытаетесь навесить обработчик на коллекцию элементов, которая возвращается функцией 
querySelectorAll. Такой возможности нет, нужно обходить эту коллекцию и навешивать обработчик на каждый элемент отдельно:
var buttonItems = document.querySelectorAll('.button-item'),
    index, button;
for (index = 0; index < buttonItems.length; index++) {
    button = buttonItems[index];
    button.addEventListener('click', function (event) {
        console.log('click');
        event.preventDefault();
    });
}
Пример
Обратите внимание, что такой способ установки обработчика в цикле не очень хорош - при каждой итерации создается новая функция-обработчик, что засоряет память и этот обработчик невозможно потом удалить, поскольку создаваемая функция безымянна и ссылка на нее нигде не сохраняется.
Ну в принципе такой код не очень опрятный.
Лучше делать 
так:
var buttons = document.querySelectorAll('.button-item'),
    index, button;
for (index = 0; index < buttons.length; index++) {
    button = buttons[index];
    button.addEventListener('click', clickHandler);
    button.addEventListener('dblclick', doubleClickHandler);
}
function clickHandler(event) {
    console.log('click', this.innerText);
    event.preventDefault();
}
function doubleClickHandler(event) {
    console.log('doubleclick', this.innerText);
    this.removeEventListener('click', clickHandler);    
    this.removeEventListener('dblclick', doubleClickHandler);
}