是否有类似的Jquery现场任何JavaScript原型功能来跟踪动态DOM元素?(Is there

2019-10-17 20:07发布

“elem_classs”。Event.observe(窗口, “负载”,函数(){$$()的findAll(函数(节点){返回node.getAttribute( '标题');})每个(函数(节点){新工具提示(节点,node.title); node.removeAttribute( “标题”);});});

使用上面的方法,我可以检索具有所有元素".elem_class"和适用于他们一些JavaScript函数。 但我也有“.elem_class”其中有一些元素一个模式/弹出框,而这些不得到的findAll范围/每因为它们加载到DOM中通AJAX。

我该如何申请相同的动态加载的元素呢? 我使用的原型库。 (我用JQuery的直播功能,这使未来的所有元素的轨道,但需要达到类似的东西使用原型)

谢谢。

Answer 1:

据我所知,事件代表团建成原型的机器人,但它不应该太难做你自己。 只需添加一个处理程序,以观察其对事件body再使用Event#findElement检查它是否您的选择相匹配。

下面是为您设置的代表团(负载运行此)的样本函数:

/**
 * event_type: 'click', 'keydown', etc.
 * selector: the selector to check against
 * handler: a function that takes the element and the event as a parameter
 */
function event_delegator(event_type, selector, handler) {
  Event.observe(document.body, event_type, function(event) {
    var elt = Event.findElement(event, selector);
    if (elt != document)
      handler(event, elt);
  });
}

你也许可以扩展元素来处理这对你来说,简化了一切。 希望这可以帮助!

编辑:悬停事件(或mousein /鼠标移出)应该是一个提示一个很好的事件。 此外,不要在加载的所有要素,即使用事件委派时是不必要的。 下面是有关事件代表团更多的链接: http://www.sitepoint.com/blogs/2008/07/23/javascript-event-delegation-is-easier-than-you-think/



文章来源: Is there any Prototype Javascript function similar to Jquery Live to trace dynamic dom elements?