SAPUI5:正确处理点击事件

时间:2015-01-28 08:38:04

标签: javascript javascript-events sapui5

我正在使用SAPUI5控件GenericTile并添加了headerImage和click事件。单击此图标时,将首先触发磁贴的事件处理程序,以便我无法对图标点击本身做出反应(当然应执行其他操作)。

var oGenericTile = new sap.suite.ui.commons.GenericTile({
                frameType: "TwoByOne",
                header: "My HEader",
                headerImage: "sap-icon://settings",
                tileContent: oTileContent
            });

oGenericTile._oImage.attachPress(function(oEvent) {
                sap.m.MessageToast.show("Icon has been pressed");
                oEvent.cancelBubble();
                oEvent.preventDefault();
            });

            oGenericTile.attachPress(function() {
                sap.m.MessageToast.show("I am always triggered first!!!   :-(");
            });`

知道如何避免这种情况吗?

非常感谢,

安东

1 个答案:

答案 0 :(得分:1)

你可以,例如也可以手动取消磁贴上的事件以避免此行为...您只需要跟踪图标是否已被按下,请参阅JSBin上的简化示例: http://jsbin.com/daqifomoge/3/edit

当原始控件从开发人员获得更新时,扩展现有控件和覆盖方法总是有可能破坏...

尽管如此,也许有更优雅的方式。

最佳, 克里斯蒂安