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函数返回的任何内容处理nameInputeditAddressHidden事件”。但这不对(在这种情况下),因为您想使用onchange函数本身来处理editAddressHidden事件。

因此,将其包装在一个匿名函数中:

nameInput.onchange = function(){ editAddressHidden(validLoadedEmails) };


现在,每次onchange事件触发时,它都会调用您的函数,然后依次调用editAddressHidden函数。

09-10 17:40