2010-10-04 34 views
0

假设我正在使用第三方实用程序工具,并且我无法更改那个很酷的代码。该工具并没有别的,但如何动态绑定到一个函数,类似于生活

$(this).live('click', function(){ 

this.trigger('custom:callback'); 

}); 

我用它是

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

上面的代码工作正常的方式。但是,如果我动态创建一个“一”元素,然后我要运行

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

另有第三方工具的回调不工作。

有没有一种方法来动态设置绑定,以便如果我动态创建'a'元素,那么我不需要运行代码。

回答

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'); 
    }); 
}); 
相关问题