2016-03-31 17 views
0

ImageMapコントロールを使用して画像上に複数のクリック可能な領域を作成しています。私はaArea1をクリックすると OpenUI5でsap.ui.commons.Areaのクリックイベントを処理する方法

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"); 

、代わりのhrefクリックイベントのaArea2を起動する必要があり、その中で私はいくつかのポップアップダイアログを書くことができます。

答えて

2

sap.ui.commons.Areaは、プレスイベント自体を公開せず、親ImageMapに渡します。

エリアのプレスイベントを処理したい場合は、ロジックをフックImageMapまでフックし、event引数を読んで、押されたエリアを見つける必要があります。

この動作の例については、https://jsbin.com/qujade/edit?html,outputを参照してください。

+0

ありがとうございました。あなたは、ビンスニペットかもしれない小さな例を与えることができます。 –

+0

私はあなたのコードに基づいて少しjsbinを作成し、私の答えにリンクを追加しました。 – jpenninkhof

+0

ありがとうございましたhelp full answer –

関連する問題