当在dojo移动的应用程序中单击ListItem
时,我试图调用一个函数。
此函数以编程方式创建ListItems
showResults : function(results) {
results.forEach(function(result) {
var li = new dojox.mobile.ListItem({
class : "linklist",
href : "#",
label : result.address,
moveTo : "#",
clickable : true,
onClick : function() {
console.log("click");
}
}, domConstruct.create("li", null, this.searchList));
// dojo.connect(li, "click", lang.hitch(this, this.addResult, result))
}, this);
}
我试过在构造函数中给函数提供onClick
属性,以及在创建后使用dojo.connect
,但两种方法都不起作用,我还尝试了click
、onClick
和onclick
的不同变体。
我看到的关于这个问题的任何其他帖子都建议使用上面评论的dojo.connect
方法,但这对我来说仍然不起作用。
有什么建议吗?
1条答案
按热度按时间nfs0ujit1#
这是因为你的小部件的startup()方法从来没有被调用过,你必须显式地调用li.startup(),或者,你可以使用这个.searchList.addChild(li),而不是创建一个引用节点并将其传递给ListItem构造函数(这也会导致startup()被正确地调用)。