在jQuery中,我可以使用live()
添加事件侦听器,即使对于尚不存在的元素也是如此:
jQuery('a[href*="/item/"]', pageContent).live('click', preLoadAjaxPage);
Closure Library是否具有等价物?
goog.events.EventType
没有任何“DOM更改”事件,因此我无法执行goog.events.listen(goog.dom.getDocument(), goog.events.EventType.DOM_CHANGE, addEventListenersAgain)
或类似事件。
答案 0 :(得分:3)
我按照@Felix Kling的建议,在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)) {
// ...
}
});