Observing 'click' event on <a> tag generated by scriptaculous Builder
Posted
by bratsche
on Stack Overflow
See other posts from Stack Overflow
or by bratsche
Published on 2010-06-13T18:16:19Z
Indexed on
2010/06/13
18:22 UTC
Read the original article
Hit count: 209
I'm using scriptaculous Builder to generate some DOM elements dynamically, and one of them is a link tag. I wasn't sure how to generate this with the click callback inline along with the rest of the Builder code, so I'm generating the link tag ahead of time and then inserting it with the rest of the Builder phase.
The problem is that the callback for the link is never actually executed when I click the link, and the URL bar changes to http://localhost/foo/bar/# instead. The callback method is a part of my class, so I'm binding it as an event listener ahead of time.
var Foo = Class.create ({
initialize: function () {
this.closeBinding = this.doClose.bindAsEventListener (this);
},
generate: function () {
/* Create the link and bind the click listener */
var close_link = Builder.node ('a', { href: '#' }, 'Close');
Event.observe (close_link, 'click', this.closeBinding);
/* Generate the new DOM nodes */
return Builder.node ('div', [
Builder.node ('h2', 'This is a test'),
close_link
]);
},
doClose: function (evt) {
/* This code is never called when I click the link. */
}
});
© Stack Overflow or respective owner