简体   繁体   English

Closure Library是否具有与jQuery.live等效的东西?

[英]Does Closure Library have an equivalent to jQuery.live?

In jQuery I can use live() to add event listeners, even for elements that don't exist yet: 在jQuery中,我可以使用live()添加事件侦听器,即使对于尚不存在的元素也是如此:

jQuery('a[href*="/item/"]', pageContent).live('click', preLoadAjaxPage);

Does Closure Library have an equivalent? Closure Library是否具有等价物?

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. goog.events.EventType没有任何“DOM更改”事件,所以我不能goog.events.listen(goog.dom.getDocument(), goog.events.EventType.DOM_CHANGE, addEventListenersAgain)或类似事件。

I followed @Felix Kling's suggestion and registered the event handler at root: 我按照@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)) {
            // ...
        }
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM