GUI changer函数的jQuery.live()

GUI changer函数的jQuery.live(),jquery,Jquery,我使用一种很好的方法制作可折叠字段集,方法是: 当没有动态添加字段集时,一切正常。 可以使用.live()函数绑定“click”之类的事件,我想知道是否可以自动将.collapse()添加到所有动态添加的字段集 我试过: $("fieldset").live('ready', collapse); 及 但它不起作用。将“准备就绪”更改为“加载”也无济于事 是否有任何方法可以将诸如“.colapse()”之类的UI特性应用于新的动态插入的DOM元素 非常感谢。我也有类似的问题(有点),所以这可能

我使用一种很好的方法制作可折叠字段集,方法是:

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

我试过:

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

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

是否有任何方法可以将诸如“.colapse()”之类的UI特性应用于新的动态插入的DOM元素


非常感谢。

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


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

如果它是动态的,那么为什么不在创建了折叠插件之后将其附加到DOM对象

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

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

$('#my-fieldset').collapse();
var html=”“;
$('body').appendTo(html);
$(“#我的字段集”).collapse();
jQuery.live()方法需要触发一些事件。无法使用.live()或.delegate()通过AJAX回调处理新添加的内容

为了做到这一点,你需要使用插件

本论坛帖子详细介绍了问题和解决方案

在我的例子中,解决方案(启用livequery插件)是:


工作起来很有魅力:-)

在我的例子中,动态意味着它是从服务器端返回的HTML部分。HTML部分被添加到列表中,并且可以只添加类,而不添加唯一ID:(@user118657,为什么不能添加唯一ID?如果它是一个类,那么将该类命名为仅与collapse一起使用的名称,并说$('.to collapse object').collapse();…设置该类,以便在添加HTML时可以调用该collapse(),不管你调用它多少次,如果多次调用,该行为都会被忽略。非常感谢,它帮助我找到了答案。livequery插件发挥了神奇的作用!我不同意这一点-“不可能使用.live()或.delegate()通过AJAX回调处理新添加的内容。”这正是.live()所做的。当您从服务器端获得一些HTML时,live()需要触发一些事件-没有这样的事件。引用jQuery站点的话:“不幸的是,您现在使用的方式是liveQuery的主要用途。.live()和.delegate()都是围绕事件委派的包装器,这需要,嗯……发生一个事件。你不能做liveQuery允许的事情,这是在添加元素时在添加到页面的任何元素的上下文中运行的自动回调。”
$("fieldset").live('ready', function () {
    $("fieldset").collapse();
});
var html = "<fieldset id='my-fieldset'></fieldset>";

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

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