jQuery:如何在没有活动函数的情况下获得动态创建的对象值

jQuery:如何在没有活动函数的情况下获得动态创建的对象值,jquery,Jquery,我有一个使用jQuery1.3的Drupal站点,不幸的是我不能使用live函数。我需要截获动态创建的项目的单击/更改事件。 如果不使用live,我怎么能做到这一点?我无法升级到jquery 1.4。在调用动态内容的方法中,对要关闭事件的类类型使用unbind命令。然后直接重新绑定。这将重新绑定所有旧元素,并连接新创建的元素 $('.className').unbind('click',functionName.).bind('click',functionName) 实现自己的“live()”

我有一个使用jQuery1.3的Drupal站点,不幸的是我不能使用live函数。我需要截获动态创建的项目的单击/更改事件。
如果不使用live,我怎么能做到这一点?我无法升级到jquery 1.4。

在调用动态内容的方法中,对要关闭事件的类类型使用unbind命令。然后直接重新绑定。这将重新绑定所有旧元素,并连接新创建的元素


$('.className').unbind('click',functionName.).bind('click',functionName)

实现自己的“live()”函数并不困难。只需将事件处理程序添加到包含所有动态创建项的容器元素中。如果现在在这些项中的任何一项上触发该事件,它将出现在事件处理程序中。在此处理程序中,您可以使用$(event.target).is(选择器)检查事件是否针对您动态创建的项目之一。

在jQuery 1.3中,如果您需要事件不支持,那么(
在IE中正确更改
等)您的最佳选择仍然是:


.livequery()
的工作方式不同,它主动寻找新元素并绑定到它们,而不是如何
。live()
是一个被动事件侦听器…因此它的成本有点高…但这是以前的
。live()
是不可用的。

live()在1.3中为click工作,但我认为直到1.4.0下载livequery并完美运行,更改才起作用!谢谢
$(".mySelector").livequery(function() {
  $(this).change(function() {
    //do something
  });
});