0

我不知道这是否是问这个问题的正确地方,但如果不是,请纠正我。现在我拥有的是一对导航手风琴,其中的列表项样式正确。2)点击每个列表项将通过ajax请求加载一个外部页面。现在我真正想要的是当有人点击列表项时,我想调用一个处理函数,在我拥有的其他页面上进行一些更改。现在我可以通过为每个列表项分配 id 然后设置 onclick 侦听器来做到这一点,但这太费时而且不整洁。这就是为什么我想知道是否有一些方法可以尝试,这样我就可以为所有这些设置一个 onclick 侦听器,并且可以识别哪个列表项被点击(因为我必须根据点击列表项进行更改) .

<div data-dojo-type="dojox.mobile.Accordion">
    <div data-dojo-type="dojox.mobile.RoundRectList" label="Intermediate">
        <div data-dojo-type="dojox.mobile.ListItem"
            data-dojo-props="label:'Span and Div'" moveTo="spanView"></div>
        <div data-dojo-type="dojox.mobile.ListItem"
            data-dojo-props="label:'Text'" moveTo="textView"></div>
    </div>
</div>

现在这是我为菜单创建的内容,现在使用 dojo 我正在发出 ajax 请求,现在我想做的是根据每个此类列表项的点击来更改另一个第三个视图的内容。有没有一个简洁的javascript方法......请帮助......

4

1 回答 1

1

您可以根据API 文档getChildren()调用您的方法。然后它将返回每个直接后代(小部件),或者在你的情况下,'s.dojox/mobile/RoundRectListdojox/mobile/ListItem

一个例子:

var items = registry.byId("list").getChildren();
array.forEach(items, function(item, idx) {
    item.onClick = function(evt) {
        console.log(this.label); 
    };
});

我还制作了一个JSFiddle来演示这一点。

于 2013-08-15T10:54:34.840 回答