如何在OpenUI5中处理sap.ui.commons.Area的click事件

时间:2016-03-31 09:22:54

标签: imagemap sapui5

我正在使用ImageMap控件在图像上创建多个可点击区域。

var oImage = new sap.ui.commons.Image("i1");
oImage.setSrc("images/FlowersAndWesp.jpg");
oImage.setAlt("alternative image text for i1");
oImage.setUseMap("Map1");
oImage.placeAt("sample1");

var oMap = new sap.ui.commons.ImageMap();
oMap.setName("Map1");
var aArea1 = new sap.ui.commons.Area ("Area1", {shape: "rect", alt: "Bee", href: "http://www.sap.com", coords: "40,20,100,80"});
var aArea2 = new sap.ui.commons.Area ("Area2", {shape: "circle", alt: "Flower", href: "http://www.sap.com", coords: "170,60,30"});
oMap.addArea(aArea1);
oMap.addArea(aArea2);
oMap.placeAt("sample1");

当我点击aArea1时,应该调用aArea2而不是href click事件,并且我可以编写一些弹出对话框。

1 个答案:

答案 0 :(得分:2)

sap.ui.commons.Area不会公开新闻事件,而是将其传递给父ImageMap

因此,如果您想要处理区域的按下事件,则必须将逻辑挂钩到ImageMap并阅读event参数以找出已按下的区域。

请参阅https://jsbin.com/qujade/edit?html,output以获取有关其工作原理的示例。