用于GUI更换器功能的jQuery .live()

时间:2011-06-25 11:55:45

标签: jquery

我使用Collapsible jQuery Plugin创建可折叠字段集的好方法:

$("fieldset").collapse();

在没有动态添加字段集的情况下,一切正常。 可以使用.live()函数绑定“click”之类的事件,我想知道是否可以自动将.collapse()添加到所有动态添加的字段集中。

我试过了:

$("fieldset").live('ready', collapse);

$("fieldset").live('ready', function () {
    $("fieldset").collapse();
});

但它不起作用。将“准备好”改为“加载”也无济于事。

有没有办法将新的动态插入DOM元素等“.colapse()”等UI好东西应用?

非常感谢。

3 个答案:

答案 0 :(得分:1)

我有类似的问题(有点),所以这可能会帮助你...

Making a jQuery UI Slider with live()

我基本上不得不使用live()和自定义事件使用jquery插件初始化一些元素。

答案 1 :(得分:1)

如果它是动态的,那么为什么在创建崩溃插件后不将它附加到DOM对象?

var html = "<fieldset id='my-fieldset'></fieldset>";

$('body').appendTo(html);

$('#my-fieldset').collapse();

答案 2 :(得分:-2)

jQuery .live()方法需要触发一些事件。使用.live()或.delegate()来通过AJAX回调处理新添加的内容是不可能的。

为此,您需要使用livequery插件。

how to replace $.livequery with $.delegate or $.live论坛主题描述了问题和解决方案的详细信息。

在我的情况下,解决方案(启用了livequery插件)是:

 $('fieldset').livequery(function () {
     $(this).collapse();
 });

像魅力一样: - )