Reputation: 123
I am new to the prototype framework and am trying something really simple and failing. I am trying to respond to a click event on a button like so:
$$('.btn').observe('click', respond);
function respond(event) {
alert("hello");
}
Why isn't this working? Please help!
Upvotes: 12
Views: 18230
Reputation: 14856
Can be also be done with a single-liner, as someone already suggested in a comment:
$$('.btn').invoke('observe', 'click', respond);
Upvotes: 13
Reputation: 114367
Unlike jQuery, handing selectors with multiple results in Prototype works a little differently. You need to handle each selected result separately using .each()
.
$$('.btn').each(function(element) {
element.observe('click', respond);
})
This is one of the reasons I moved over to jQuery. The other reason: knowing jQuery is marketable and knowing Prototype is not.
Upvotes: 22