SAPUI5混合移动(sap.m)和桌面(sap.ui.commons)

SAPUI5混合移动(sap.m)和桌面(sap.ui.commons),sapui5,Sapui5,我正在使用桌面SAPUI5应用程序,需要在其中一个页面中使用TileContainer/Tiles,但注意到press event对此不起作用。尝试了其他移动控件,例如sap.m.按钮按下事件,但它们也不起作用。 有什么想法吗?移动控制只适用于触摸事件。您需要设置onclick事件。您有3个选项可以执行此操作: 1将onclick附加到目标控件: var oButton = new sap.m.Button({ text : "Hello", press : function()

我正在使用桌面SAPUI5应用程序,需要在其中一个页面中使用TileContainer/Tiles,但注意到press event对此不起作用。尝试了其他移动控件,例如sap.m.按钮按下事件,但它们也不起作用。
有什么想法吗?

移动控制只适用于触摸事件。您需要设置onclick事件。您有3个选项可以执行此操作:

1将onclick附加到目标控件:

var oButton = new sap.m.Button({
    text : "Hello",
    press : function() { alert('You've pressed me!') }
}).attachBrowserEvent('click', 
    function(event){
        sap.ui.getCore().byId(event.target.id).firePress()
    });
2扩展standart移动控制:

sap.m.Button.extend('my.Button');
my.Button.prototype.onclick = function(){
    this.ontap.apply(this, arguments);
};
my.Button.prototype.onmousedown = function(){
    this.ontouchstart.apply(this, arguments);
};
my.Button.prototype.onmousemove = function(){
    this.ontouchmove.apply(this, arguments);
};
my.Button.prototype.onmouseup = function(){
    this.ontouchend.apply(this, arguments);
};
3.修改标准控件不是个好主意:

sap.m.Button.prototype.onclick = function(){
    this.ontap.apply(this, arguments);
};
...

仅在触摸事件中,移动控件可以正常工作。您需要设置onclick事件。您有3个选项可以执行此操作:

1将onclick附加到目标控件:

var oButton = new sap.m.Button({
    text : "Hello",
    press : function() { alert('You've pressed me!') }
}).attachBrowserEvent('click', 
    function(event){
        sap.ui.getCore().byId(event.target.id).firePress()
    });
2扩展standart移动控制:

sap.m.Button.extend('my.Button');
my.Button.prototype.onclick = function(){
    this.ontap.apply(this, arguments);
};
my.Button.prototype.onmousedown = function(){
    this.ontouchstart.apply(this, arguments);
};
my.Button.prototype.onmousemove = function(){
    this.ontouchmove.apply(this, arguments);
};
my.Button.prototype.onmouseup = function(){
    this.ontouchend.apply(this, arguments);
};
3.修改标准控件不是个好主意:

sap.m.Button.prototype.onclick = function(){
    this.ontap.apply(this, arguments);
};
...

我并没有在sap ui引导程序中添加sap.m,而是添加了它使moible ui控件能够正常工作

数据sap ui libs=sap.ui.commons,sap.m


感谢qmacro和Nikolay…

我没有在sap ui引导中添加sap.m,添加它使moible ui控件正常工作

数据sap ui libs=sap.ui.commons,sap.m


感谢qmacro和Nikolay…

sap.m控件及其事件在您描述的上下文中正常工作。我刚刚尝试将sap.m.按钮添加到桌面UI5应用程序中,它对press事件的响应良好。请您提供更多信息,可能是您拥有的代码?无论采用何种解决方案,混合使用sap.m和sap.ui.commons都不是一个好主意,因为它们彼此不兼容。请查看此主题,找出更多不受支持的组合:.sap.m控件及其事件在您描述的上下文中应该可以正常工作。我刚刚尝试将sap.m.按钮添加到桌面UI5应用程序中,它对press事件的响应良好。请您提供更多信息,可能是您拥有的代码?无论采用何种解决方案,混合使用sap.m和sap.ui.commons都不是一个好主意,因为它们彼此不兼容。请查看此主题以了解更多不受支持的组合:。