具體而言,我正在尋找將lightbox綁定到特定元素。通常我會這樣做:$('a.lightbox').lightBox();
但這是行不通的,因爲我正在使用AJAX進行一些加載。看看jQuery API,我發現了.bind()
和.live()
,但是當我在AJAX調用之後做$('a.lightbox').bind('lightBox')
時,我沒有收到任何東西。ajax load後綁定自定義事件處理程序
我錯過了什麼?
具體而言,我正在尋找將lightbox綁定到特定元素。通常我會這樣做:$('a.lightbox').lightBox();
但這是行不通的,因爲我正在使用AJAX進行一些加載。看看jQuery API,我發現了.bind()
和.live()
,但是當我在AJAX調用之後做$('a.lightbox').bind('lightBox')
時,我沒有收到任何東西。ajax load後綁定自定義事件處理程序
我錯過了什麼?
您需要添加一個處理它的回調函數。
$("#div").load(url, {}, function(){ $('a.lightbox').lightBox(); });
綁定不會幫助你,因爲事件沒有得到一個事件觸發它。
另一種方法是綁定到dom中更高的元素並檢查目標類型。如:
$('#div').bind('click', function (event) {
target = $(event.target);
if (target.hasClass('lightbox')) {
// do stuff here
}
});
只是不要走得太遠,否則您會捕捉太多的點擊。
完美。很好用,猜測我沒有必要使用.bind()。此外,這就是爲什麼我與綁定混淆 - 我知道它需要API的功能,但我沒有任何這樣的功能。 – Radu 2010-08-08 22:06:34