for (var key in obj[i]) {
dataDump[key] = textField.value;
var callback = function(zeKey){
return function(e){
dataDump[zeKey] = e.source.value;
};
}(key);
textField.addEventListener('change', callback);
}
当我加载窗口时,会自动调用此函数,这是我不想要的,而是我希望仅在我进行更改时调用它。
重点是呼叫function(zeKey){...}(key)
。执行此操作时,key(字符串)将作为参数(zeKey)复制到匿名函数。
答案 0 :(得分:1)
以下
var callback = function(zeKey){
return function(e){
dataDump[zeKey] = e.source.value;
};
}(key);
zeKey
调用匿名函数。 如果 1 你的意思是“函数被调用”那么这就是预期的行为。
只有在DOM准备就绪后才能调用整个代码。将所有这些放在一个函数中,并确保仅在window.onload
或(jQuery).ready()
函数返回的函数只在回调期间被调用。
答案 1 :(得分:0)
创建dom后添加这些代码。如果上面的代码在函数内部,请附加到window.load或在页面末尾写下这些代码。