2011-12-14 145 views
2

我有要求,我會動態地從我的Web服務中獲取一組具有隨機ID的div。一旦它被添加到我的HTML我想要綁定一些事件的ID。現在我的問題是,如果我綁定事件使用for循環ID的數組,當循環的範圍完成事件作用域被銷燬。jQuery Live事件綁定

例如:

var arrID={'1','2','3'}; 
for(var d in arr) 
{ 
    arrID.live("click",function() {}); 
} 

//scope of for loop finishes here, hence the scope of click also. 

如何解決這個問題?謝謝。

回答

3

您無法將單擊事件綁定到JavaScript對象。它必須綁定到一個JQuery DOM對象。試試這個:

var arrID=['1','2','3']; 

$.each(arrID, function(index, value) { 
    $('#' + value).live('click',function(){ 
     // Do something 
    }); 
}); 

這是一個工作演示。公告僅第3週中創建的div有綁定的事件:http://jsfiddle.net/FxwpC/

1

你可能想是這樣的:

$("#my-id-name-" +d).live("click", function() { 
    $(this).doSomeThing(); 
}); 
+0

是和剛纔添加的哈希選擇的開始 – 2011-12-14 08:15:33

0
var arrID=['1','2','3']; 
for(var d in arrID) 
{ 
    $("#"+d).live("click",function() {}); 
}