我需要创建一个上下文菜单(右键单击),在此菜单中我想显示3个颜色标签。当用户单击标签时,光标下方的div会更改其背景颜色。
为了达到这个目的,我宣布了一个内部函数,但是它只输出最后一种颜色,(i的最后一个值)。
当循环创建所有函数时,如何使'i'的值在匿名函数中保持不变?
代码:
for (var i = 0; i < items.length; i++) {
menu.append(new gui.MenuItem({
label: items[i].name,
click : function(){
//context.css({background: items[i].color});
console.log(i); // <-- I get 6 all the time when a label is clicked
}
}));
}