gpt4 book ai didi

javascript - Launchpad 标题后退按钮的事件处理程序

转载 作者:行者123 更新时间:2023-11-30 08:22:20 26 4
gpt4 key购买 nike

在某些情况下,我需要覆盖 Launchpad Header Back Button 的事件。我尝试了很多事情,例如:

try {
sap.ui.getCore().byId("backBtn").attachPress(this, function(oEvent) {
oEvent.preventDefault();
}.bind(this));
} catch (err) {
console.log(err);
}

$('body').mousedown(function(e) {


var oTarget = $(e.target);


console.log(oTarget[0].offsetParent.id);
console.log(oTarget[0]);
if (oTarget[0].offsetParent.id === "backBtn") {
console.log("prevent");
e.preventDefault();
e.stopPropagation();
return false;
}

}.bind(this));

在这些代码中,我只是试图阻止 navi 返回。没用。在某些情况下,我想导航到某些 View 。例如:

如果用户在 View 3 -> 单击 Launchpad 后退按钮 -> 导航到 View 1(不是之前的导航目标)

但我无法停止导航机制以返回到先前的目标。

如果有任何帮助或想法,我将不胜感激。

最佳答案

首先你需要在你的 manifest.json 中注册 ShellUIService

在sap.ui5下的manifest.json中:

...
"sap.ui5": {
...
"services": {
"ShellUIService": {
"factoryName": "sap.ushell.ui5service.ShellUIService"
}
}
...
}
...

然后您可以覆盖 Controller (或组件)中的默认行为

this.getOwnerComponent().getService("ShellUIService").then(function(oShellService) {
oShellService.setBackNavigation(function() {
//either do nothing to disable it, or add your own back nav logic
})

})

关于javascript - Launchpad 标题后退按钮的事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51401094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com