2010-11-16 78 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