【发布时间】:2014-06-13 05:19:20
【问题描述】:
我有一个可点击的 dojo 列表项。但同时我们喜欢将输入元素放在列表项中。问题是,如果您单击子元素(例如复选框),listitem onclick 会首先拦截调用(这似乎与 html 冒泡格式相反)。所以我们不能在子元素上调用 stoppropagation 来阻止 listitem 改变页面。
在下面的示例中,您将看到列表项警报出现在复选框警报之前..
如何在不触发列表项的情况下处理列表项中的输入元素..
小提琴::http://jsfiddle.net/theinnkeeper/HFA36/1/
例如
var list1 = registry.byId("myList");
var item = new ListItem ({
label: "A \"programmatic\" ListItem",
moveTo: "#",
noArrow:true,
onClick : function() {
alert("listItem clicked !" + event.target.type);
}
});
list1.addChild(item);
var check = new cb({onClick:function(){alert("checkbox clicked");event.stopPropagation();}});
check.placeAt(item.containerNode.firstChild);
check.startup();
【问题讨论】:
标签: dojo