我正在使用桌面SAPUI5应用程序,并且需要在其中一个页面中使用TileContainer / Tiles,但是发现按下事件不起作用。试过其他移动控件,例如sap.m.Button新闻事件,但他们也没有工作。 有什么想法吗?
答案 0 :(得分:2)
移动控件仅适用于触控事件。您需要设置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)扩展标准移动控件:
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);
};
...
答案 1 :(得分:2)
我没有在sap-ui-bootstrap中添加sap.m,添加了这个移动ui控件。
data-sap-ui-libs =" sap.ui.commons,sap.m"
非常感谢qmacro和Nikolay ......