1
之外我有一個JavaScript事件處理程序是這樣的:問題使用JavaScript事件處理程序變量的範圍
for (i = 0; i < x; i++){
var table = tableList[i];
var tableID = table.getAttribute('id');
var selector = table.querySelectorAll('input')[0];
selector.on('focusout', function(){
alert(tableID);
}):
}
的TABLEID警報始終處於tableList最後一個表的ID,無論哪個臺我的正在使用。
任何想法?
的可能重複[關閉的Javascript內循環 - 簡單實用的例子(http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) – Ian
你有相同的'ID'應用於多個元素? –
爲什麼'table.querySelectorAll(「input」)[0]'而不是'table.querySelector(「input」)'?另外,'selector'看起來像是一個用於引用元素的奇怪變量名稱。 'table.getAttribute(「id」)''可以是'table.id;'。 –