代码之家  ›  专栏  ›  技术社区  ›  ansiart

jqueryui:自动添加.accordion();使用class=“accordion”向任何新元素添加功能

  •  2
  • ansiart  · 技术社区  · 14 年前

    我使用的是jquery ui accordion,但我试图找到一种方法,在添加任何新元素时都不必初始化它。使用Ajax,我将HTML插入到一个页面中,但是在任何页面加载时,我都必须重新初始化任何协议。-

    // .ajax handler
    success: function(xml) {
    
        // find accordions
        $("div.accordion").accordion();
    
    }
    

    当DOM发生更改时,是否可以自动运行此程序?我知道有LiveQuery插件——但是有更简单更优雅的方法吗?

    2 回复  |  直到 12 年前
        1
  •  0
  •   JasCav    14 年前

    也许有人能提供更多的信息,但我也遇到了类似的情况。据我所知,您必须根据更改后的DOM动态应用手风琴。你可以用 .live function 让它带负荷运行。像这样的事情对我很有效。

    $('div.accordion').live('load', accordion());
    

    看看这是否对你有帮助。

        2
  •  0
  •   Rob Kennedy    12 年前

    最后,我使用了一种不同的方法,并将功能与映射字符串联系起来。我现在对所有内容都使用一个属性。我基于这个做了一个find(),并用它的关联值加载它。

    伪: $(this)[$(this).attr('ui:component')]();