我的应用程序中有一个div元素,我在其中添加了按钮。但只有最后一个按钮事件。代码位于jsfiddle
答案 0 :(得分:2)
您的问题是使用innerHTML
,每当您使用它时,它会擦除节点中的所有元素和事件,然后重新创建节点,无论您的事件如何。
你可以使用它而不是innerHTML:
dojo.create("button", { id: "hom", innerHTML:"hom"}, node);
这是你的工作DEMO。
答案 1 :(得分:0)
使用Dojo> 1.7语法,您可以将事件附加到这样的节点,注意domConstruct.create如何返回对创建节点的引用:
var test1 = function(){
var parent = dom.byId('buttons');
var test1 = domConstruct.create("button", {id:"test1", innerHTML:"test"}, parent);
on(test1, "click, keyup", function (event) {
if (event.type === 'click' || (event.type === 'keyup' && event.keyCode === 13)) {
console.log("test1 Button click")
}
});
}