如何基于SAPUI 5中html元素上的单击事件执行函数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (130)

嗨,我正试图在我的控制器中定义一个函数,当我按下图片的特定区域时,它就会执行。我使用html地图来定义图片的区域(代码如下)

<mvc:View id="Main" controllerName="Demo.picture.controller.Main" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc"
displayBlock="true" xmlns="sap.m" xmlns:core="sap.ui.core">
<App id="idAppControl">
    <pages>
        <Page title="{i18n>title}">
            <content>
                    <Image src = "Some image source" alt="Image" useMap="Map"/>
            </content>
        </Page>
    </pages>
</App>
<html:map name="Map" id="Map">
    <html:area id= "area_1" shape="rect" coords= "0,0,240,215" alt="Chart" onclick="???"/>
    <html:area id = "area_2" shape="rect" coords="240,0,480,215" alt="Start" onclick="???"/>
</html:map> </mvc:View>

不确定使用onclick是否是正确的方法。

控制器代码:

sap.ui.define([

"sap/ui/core/mvc/Controller"], function (Controller) {
"use strict";

return Controller.extend("Demo.picture.controller.Main", {


    SomeMethodFoo: function () {
        "method to be executed when area_1 is pressed"
    },

    SomeMethodGoo: function () {
        "method to be executed when area_2 is pressed"
    }

});});

是否可以将onClick事件的事件处理程序附加到这些区域?或者还有其他方法可以做到这一点?

提问于
用户回答回答于

我想应该是这样的:

onclick="sap.ui.getCore().byId('__xmlview0').getController().SomeMethodFoo()"

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动