0
我在我的应用程序中有一个div元素,我在其中添加了按钮。但只有最后一个按钮事件。代码位于jsfiddle
dojo事件处理程序不适用于多个按钮
我在我的应用程序中有一个div元素,我在其中添加了按钮。但只有最后一个按钮事件。代码位于jsfiddle
dojo事件处理程序不适用于多个按钮
您的问题是使用innerHTML
,无论何时使用它,它都会清除节点中的所有元素和事件,然后重新创建节点。
您可以使用它代替的innerHTML的:
dojo.create("button", { id: "hom", innerHTML:"hom"}, node);
,这是你的工作DEMO。
使用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")
}
});
}
我该怎么解决? – barteloma
@bookmarker:检查我的答案和小提琴来解决它。 –