0

我试图ListItem在 dojo 移动应用程序中单击 a 时调用一个函数。

这是以编程方式创建的函数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在创建后使用。两种方法都行不通。我还尝试了 , 和 的不同clickonClickonclick

我看到的有关此问题的任何其他帖子都建议使用dojo.connect上面评论的方法,但这仍然对我不起作用。

有什么建议么?

4

1 回答 1

2

这是因为您的小部件的 startup() 方法永远不会被调用。您必须显式调用 li.startup(),或者,您可以使用 this.searchList.addChild(li) 而不是创建引用节点并将其传递给 ListItem 构造函数(这也会导致 startup() 被正确调用) .

于 2013-04-05T11:29:21.523 回答