【问题标题】:dojox.mobile.ListItem OnClick not workingdojox.mobile.ListItem OnClick 不工作
【发布时间】:2013-04-04 23:47:51
【问题描述】:

我正在尝试在 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。两种方法都行不通。我还尝试了clickonClickonclick 的不同变体。

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

有什么建议吗?

【问题讨论】:

  • PC 浏览器是否显示相同的行为?
  • 哪个版本的道场?
  • @LucianDepold - 我目前正在我的电脑上的 Chrome 中进行测试。
  • @PaulGrime - 我正在通过 ESRI Javascript API v 3.4 使用 dojo 1.8。

标签: javascript mobile dojo dom-events dojox.mobile


【解决方案1】:

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

【讨论】:

  • 我试过启动方法,还是不行。但是,当我将其更改为使用 this.searchList.addChild(li) 时,它确实有效。谢谢你的帮助。那个让我难过。
猜你喜欢
  • 2016-06-05
  • 2012-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多