var nameInput = document.createElement("input");
nameInput.type = "text";
nameInput.className = "loop_input";
nameInput.id = "nameAddress"+validLoadedEmails;
nameInput.value = data[0];
nameInput.onchange = editAddressHidden(validLoadedEmails);
似乎在创建元素时。它将已经进入editAddressHidden函数,而不是进行更改。
最佳答案
根据您当前的代码:nameInput.onchange = editAddressHidden(validLoadedEmails);
您可以认为这是“用我的onchange
函数返回的任何内容处理nameInput
的editAddressHidden
事件”。但这不对(在这种情况下),因为您想使用onchange
函数本身来处理editAddressHidden
事件。
因此,将其包装在一个匿名函数中:
nameInput.onchange = function(){ editAddressHidden(validLoadedEmails) };
现在,每次
onchange
事件触发时,它都会调用您的函数,然后依次调用editAddressHidden
函数。