2010-08-08 134 views
4

具體而言,我正在尋找將lightbox綁定到特定元素。通常我會這樣做:$('a.lightbox').lightBox();但這是行不通的,因爲我正在使用AJAX進行一些加載。看看jQuery API,我發現了.bind().live(),但是當我在AJAX​​調用之後做$('a.lightbox').bind('lightBox')時,我沒有收到任何東西。ajax load後綁定自定義事件處理程序

我錯過了什麼?

回答

5

您需要添加一個處理它的回調函數。

$("#div").load(url, {}, function(){ $('a.lightbox').lightBox(); }); 

綁定不會幫助你,因爲事件沒有得到一個事件觸發它。

+0

完美。很好用,猜測我沒有必要使用.bind()。此外,這就是爲什麼我與綁定混淆 - 我知道它需要API的功能,但我沒有任何這樣的功能。 – Radu 2010-08-08 22:06:34

1

另一種方法是綁定到dom中更高的元素並檢查目標類型。如:

$('#div').bind('click', function (event) { 
    target = $(event.target); 
    if (target.hasClass('lightbox')) { 
     // do stuff here 
    } 
}); 

只是不要走得太遠,否則您會捕捉太多的點擊。

相關問題