Reputation: 17977
In jQuery I can use live()
to add event listeners, even for elements that don't exist yet:
jQuery('a[href*="/item/"]', pageContent).live('click', preLoadAjaxPage);
Does Closure Library have an equivalent?
goog.events.EventType
doesn't have any "DOM change" event, so I can not do goog.events.listen(goog.dom.getDocument(), goog.events.EventType.DOM_CHANGE, addEventListenersAgain)
or similar.
Upvotes: 4
Views: 582
Reputation: 17977
I followed @Felix Kling's suggestion and registered the event handler at root:
goog.events.listen(document.body, goog.events.EventType.CLICK,
/**
* @param {goog.events.BrowserEvent} event
*/
function(event) {
var realEvent = event.event_;
var el = /** @type {HTMLAnchorElement} */ (event).target;
if (el.tagName.toLowerCase() == 'a' && (href matches pattern)) {
// ...
}
});
Upvotes: 3