JQuery:.live()和trigger()不能一起工作

时间:2010-12-13 13:29:30

标签: jquery

  $('#id').bind('change',function() {
      //do something
    }).trigger('change');

它工作正常。但是如果使用AJAX生成了id2

我正在尝试使用

$('#id2').live('change',function() {
  //do something
}).trigger('change');

但它不起作用。请有人帮帮我。 感谢

2 个答案:

答案 0 :(得分:10)

如果你写

$('#id2').live('change',function() {
  //do something
});

然后你这样做是因为#id2 尚未创建。另一方面,trigger('change')会立即触发事件。但是如果该元素尚不存在,则调用它无效。

创建元素后,您需要调用trigger()

$('#id2').trigger('change');

如果live()已存在,则无需使用#id2。您可以使用bind()

答案 1 :(得分:0)

您是否尝试在ajax-complete函数中触发更改事件?