|
发表于 2015-12-2 09:35:50
|
显示全部楼层
本帖最后由 liangyongfei 于 2015-12-2 09:38 编辑
这是js作用域的问题!for循环和if中变量int是同一个,当int发生改变的时候,所有引用int变量的地方,值都会发生改变的!
你需要自定义作用域,比如你的代码可以写成这样:
- for (var int = 0; int < 30; int++) {
- var parentNode = this.getElementByXid("div1"); // window为新加button的父元素
- if (parentNode) {
- (
- var i = int;
- var flag = {
- "xid" : "nbtn" + i,
- "label" : "按钮" + i,
- "parentNode" : parentNode,
- "class" : "btn btn btn-default",
- "id":i
- };
- var button = new Button(flag);
- button.on("onClick", function(event) {
- alert(flag.label);
- });
- )
- }
- }
|
|