2017-01-23 84 views
1

我有一個while循環,它將事件監聽器(SelectRua())連接到div保持參數值在循環上分配事件監聽器

我需要內部SelectRua()方法div內部文本,而且由於div是什麼調用事件監聽器,這工作得很好:

$('#div' + i).on("click", function() { SelectRua(this) }) 

而像,所以我很容易地訪問div屬性被點擊時。

但現在我想分配對象(變量),將不再可用時,在div發生點擊:

正如我在adding 'click' event listeners in loopJavaScript closure inside loops – simple practical example我能達到這個代碼,許多後看到嘗試:

while (morada[i]) { 
$('#div' + i).on("click", function (morada) { 
    return function (morada) { SelectRua(morada[i]) } 
    }(morada)) 
} 

當點擊div,該SelectRua()方法被調用,但是參數是undefined,但我把它無處不在,在這個例子中。

所以我的問題是,如何設置參數的值,當它被分配給事件監聽器被使用時事件被觸發?

回答

1

替換click事件有:

$('#div' + i).bind("click",morada[i],SelectRua)