How to attach a mouseenter event listener to sap.m.StandardListItem?

10.7k views Asked by At

I need to retrieve some data attached to a standardListItem when it is dragged. I am handling the drag with jQuery-UI draggable. I did the following:

var oItemTemplate = new sap.m.StandardListItem();
oItemTemplate .bindProperty("title", "ListModel>oLabel");
oItemTemplate .data("usefulListData","ListModel>EdmType");
oItemTemplate .addStyleClass("Draggable");
oItemTemplate .setType(sap.m.ListType.Active);
oItemTemplate .attachPress(function( ){
console.log(this.data("usefulListData"));
console.log("item pressed");
});

but the data retrieve only works when the StandardListItem is clicked, I doesn't work when the element is dragged. So, the idea is to attach the data retrieve upon mouseenter, how to attach an event listener the mouseenter event.

2

There are 2 answers

1
cschuff On

there is a function called attachBrowserEvent available on every object inheriting from sap.ui.core.Control: https://openui5.hana.ondemand.com/#docs/api/symbols/sap.ui.core.Control.html#attachBrowserEvent

Using that function you can basically bind to any native event the browser provides.

BR Chris

0
Rohit On

You can attach browser event to any of the controls as given below.

oItemTemplate.attachBrowserEvent("mouseenter", function(oEvent) {
    //get your model and do whatever you want:
    oModel = sap.ui.getCore().getModel();
});