Подтвердить что ты не робот

Прототип - событие click по имени класса элемента

Я новичок в прототипе фреймворка и пытаюсь сделать что-то действительно простое и терпящее неудачу. Я пытаюсь ответить на событие нажатия на кнопку следующим образом:

$$('.btn').observe('click', respond);
function respond(event) {
    alert("hello");
}

Почему это не работает? Пожалуйста помоги!

4b9b3361

Ответ 1

В отличие от jQuery, селектор с несколькими результатами в Prototype работает несколько иначе. Вы должны обрабатывать каждый выбранный результат отдельно, используя .each().

$$('.btn').each(function(element) {
    element.observe('click', respond);
})

Это одна из причин, по которой я перешел к jQuery. Другая причина: знание jQuery является товарным, а зная, что Prototype - нет.

Ответ 2

Можно также сделать однострочный, так как кто-то уже предложил в комментарии:

$$('.btn').invoke('observe', 'click', respond);