如何动态绑定到一个函数,类似于live

时间:2010-10-04 14:35:17

标签: jquery

假设我正在使用第三方实用工具,而且我无法更改代码。该工具除了

之外别无其他
$(this).live('click', function(){

 this.trigger('custom:callback');

});

我使用它的方式是

$('a').bind('custom:callback', function(){
  alert('callback is being invoked');
});

以上代码工作正常。但是,如果我动态创建'a'元素,那么我必须运行

$('a').bind('custom:callback', function(){
  alert('callback is being invoked');
});

否则第三方工具的回调不起作用。

有没有办法动态设置绑定,这样如果我动态创建'a'元素,那么我不需要运行代码。

1 个答案:

答案 0 :(得分:3)

您也可以将.live()与自定义事件一起使用,例如:

$('a').live('custom:callback', function(){
  alert('callback is being invoked');
});

这应该消除了绑定到每个绑定的需要,但是如果你这样做,那就是the .livequery() plugin仍然擅长...它看起来像这样:

$('a').livequery(function() {
  $(this).bind('custom:callback', function() {
    alert('callback is being invoked');
  });
});