2010-11-16 31 views
2

有没有办法在新对象上运行一些代码?事情是这样的:使用jquery的“live”“创建”事件

$('.some_class').live('create', function() { 
    $(this).append('something'); 
} 

所以something将被追加到some_class类(现有的和未来的)的所有元素。

回答

2

有一个叫做livequery的Jquery插件,它涵盖了你的需求。

我喜欢把这个插件在jQuery .live(),但不需要一个事件(“点击”)等。(实际上,它侦听DOM事件)

你可以在这里找到更多的信息//

Jquery - Live Query Plugin

你的例子是,如果你不希望使用的liveQuery插件作为或者如下

$('.some_class').livequery(function() { $(this).append('something');}); 
2

...

您也可以使用.delegate();也可以将委托事件用于新对象。

$("body").delegate(".newdiv", "click", function(){alert('new div clicked')}); 

或者你可以绑定的东西用.ajaxSuccess()一个AJAX成功

$('.someclass').ajaxSuccess(function() { 
$(this).append('something'); 
}); 
+0

是从做'$( “身体.newdiv”),它的不同。住( “点击”,函数( ){alert('new div clicked')});'? – cambraca 2010-11-16 17:19:11

+0

只有在事实上,您可以使用委托在另一个的根目录中指定元素。 Jquery的文档可以更好地解释这些 – Blowsie 2010-11-16 17:36:02

+0

有趣的,我会检查出来。谢谢! – cambraca 2010-11-16 17:45:15