for (iss = 0; iss < listOfProductIds2.length; iss++)
{
// Alert.show(listOfProductIds2[iss]);
var productMain:VBox=new VBox();
var p1:HBox=new HBox();
var l1:Label=new Label();
var b1:Button=new Button();
var spacer:Spacer=new Spacer();
spacer.width=300;
b1.label="Remove";
b1.setConstraintValue("id","");
b1.addEventListener(MouseEvent.CLICK,removeProduct);
l1.text="Product "+iss;
p1.setActualSize(500,500);
p1.addChild(l1);
p1.addChild(spacer);
p1.addChild(b1);
productMain.addChild(p1);
}
function removeProduct(event:MouseEvent):void
{
// How do i know which button is clicked
}
0
A
回答
2
使用event.currentTarget
(而不是event.target
),因为event.target可能是Label
组件或按钮中的一些定型组件,但currentTarget
是有保证的是与听众登记的对象。
要获得点击按钮的句柄,您只需将currentTarget
投射到一个按钮即可。
function removeProduct(event:MouseEvent):void
{
var b1:Button = Button(event.currentTarget);
}
方法setConstraintValue
是用于设定布局约束,不设置ID。 id
属性由mxml用于为对象创建变量名称。您可以设置/设置id
,因为您可以设置任何其他属性(例如宽度) - 但我没有看到任何人这样做,也没有看到有任何需要这样做的地方。
0
event.target应该指向你点击的按钮,不是吗?但是,您应该可以为按钮设置ID以区分它们(因为您可以动态创建它们)。
+0
确定没问题..但是我怎么知道你点击了哪个ID – 2009-12-10 11:10:51
0
看看event.target
。
0
如果ID是动态分配的,如给出的例子b1.id = "button_" + listOfProductIds2[iss]
然后处理click事件的函数将查看当前目标,我通常做的是在你知道的id部分做一个字符串替换不像"button_"
和""
那样动态,这会给您留下产品的名称。
相关问题
- 1. 如何知道我点击了哪个表单按钮类
- 2. 如何知道在ListView中单击了哪个按钮
- 3. 如何知道我在烧瓶中点击了哪个按钮?
- 4. 如何知道自定义列表中单击哪个按钮
- 5. 如何知道单击的是哪个按钮,JSP
- 6. 如何知道哪个图像按钮,我点击datalist
- 7. 如何知道在vb.net中点击了哪个命令按钮?
- 8. 在WebView中,如何知道哪个按钮被点击?
- 9. 如何知道在alertdialog中单击确定按钮时单击哪个单选按钮?
- 10. 我怎么知道哪个按钮在Flash中被点击
- 11. 如何知道单击了UISwitch按钮
- 12. 如何知道在jquery中选择了哪个单选按钮?
- 13. 如何知道Flex DataGrid itemRenderer中的按钮何时被点击?
- 14. 如何知道winform c#中点击了哪个按钮?
- 15. 知道在哪个单元格中选择了哪个按钮
- 16. 我如何知道UItableview中单元格按钮的点击
- 17. Android的 - 按钮侦听知道哪个按钮被点击
- 18. 如何知道在Node.js中按下了哪个'Submit'按钮
- 19. 如何知道哪个活动点击了按钮?
- 20. 如何知道点击了哪个按钮?
- 21. 如何知道哪个按钮被点击?
- 22. 如何知道哪个按钮点击使用this.Request.Form
- 23. 如何知道点击了哪个按钮?
- 24. 如何知道点击了哪个按钮
- 25. GridView中的按钮:我如何知道哪个项目?
- 26. 我怎么知道哪个按钮被点击? Objective C
- 27. 知道在Android中点击了哪个按钮
- 28. Flex - 确定在对话框中单击了哪个按钮
- 29. 如何知道在C中单击按钮的时间#
- 30. MVVM Light - UserControls的列表框,如何知道单击哪个ItemIndex按钮
感谢有关currentTarget的信息。 在这种情况下,设置id可能很有趣,因为按钮是动态创建的,例如: b1.id =“button_”+ listOfProductIds2 [iss]; ..然后你可以检查按钮的ID,看看哪一个被点击。 (虽然这不是很干净,因为它将id和业务相关的信息混合在一起)。 我想这里的问题是要知道对应于按钮的productId。很多方法可以做到这一点......一个ProductButton类可以有一个产品ID作为公共,知道属性......或产品ID和按钮之间的一些映射? – phtrivier 2009-12-10 13:29:12