2016-03-31 55 views
0

我正在使用ImageMap控件在圖像上創建多個可點擊區域。如何處理OpenUI5中sap.ui.commons.Area的click事件

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點擊事件應該被調用,並在那我可以寫一些彈出對話框。

回答

2

sap.ui.commons.Area不會公開一個新聞事件本身,但會將其傳遞給父節點ImageMap

所以,如果你想處理一個區域的新聞事件,你必須鉤住你的邏輯到ImageMap並閱讀event參數來找出哪個區域被按下。

請參考https://jsbin.com/qujade/edit?html,output瞭解其工作原理的示例。

+0

謝謝。你能舉一個小例子,可能是一個垃圾箱片段。 –

+0

我已經根據您的代碼創建了一個小小的jsbin,並將鏈接添加到我的答案中。 – jpenninkhof

+0

感謝您的幫助完整答案 –

相關問題