SAPUI5:正确处理点击事件

SAPUI5: Handle click events properly

本文关键字:事件 正确处理 SAPUI5      更新时间:2023-09-26

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

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!!!   :-(");
            });`

知道我怎样才能避免这种情况吗?

例如,

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

扩展现有控件和重写方法总是有可能在原始控件从开发人员那里获得更新时破坏事物......

不过,也许有一种更优雅的方法可以做到这一点。

最好克里斯蒂安