gpt4 book ai didi

javascript - 这段代码哪里出错了

转载 作者:行者123 更新时间:2023-11-29 22:41:05 25 4
gpt4 key购买 nike

这是我的代码片段。但是代码在内部 for 循环之后中断了。但是没有收到错误消息。有什么想法吗?

谢谢。

    var lastnames   = document.getElementsByClassName('box_nachname');
var firstnames = document.getElementsByClassName('box_vorname');
var teilnehmer = document.getElementsByClassName('select');
observers = [];

// iterate over nachname array.
for (var i = 0; i < lastnames.length; i++) {

// Create an observer instance.
observers[i] = new Observer();


// Subscribe oberser object.
for(idx in teilnehmer) {
if(teilnehmer[idx].id.split("_")[0].toLowerCase() !== "zl") {
var anynum = function(element) {
observers[i].subscribe(element, updateTeilnehmerSelectbox);
}(teilnehmer[idx]);
}
}


//on blur the Observer fire the updated info to all the subscribers.
var anynumNachname = function(j, element, value, observer) {
cic.addEvent(lastnames[j], 'blur', observer.fire(element, value));
} (i, lastnames[i], lastnames[i].value, observers[i]);
cic.addEvent(firstnames[i], 'blur', function(element, value, observer) {observer.fire(element, value)}(lastnames[i], lastnames[i].value, observers[i]));

}

最佳答案

您在“addEvent”调用中使用了循环变量“i”。这将无法正常工作,因为每个事件处理程序都将共享相同的“i”,因此每个事件处理程序只能看到“i”设置为的最后一个值。

cic.addEvent(firstnames[i], 'blur', (function(index) {
return function(element, value, observer) {
observer.fire(element, value)}(lastnames[index], lastnames[index].value, observers[index]);
};
})(i));

另外,虽然我不确定这是必要的,但我会把您为“anynumNachname”调用的函数放在括号中:

var anynumNachname = (function(j, element, value, observer) {
cic.addEvent(lastnames[j], 'blur', observer.fire(element, value));
})(i, lastnames[i], lastnames[i].value, observers[i]);

关于javascript - 这段代码哪里出错了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2759583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com