2016-07-05 9 views
0

この小さなqooxdoモバイルの例では、longtapがトリガーされたときに押されたリストアイテムを知る必要があります。私はどのように知ることができますかモバイルリストアイテムが押された長いイベント

var page = new qx.ui.mobile.page.NavigationPage(); 
page.setTitle("List"); 
page.addListener("initialize", function() { 
    var list = new qx.ui.mobile.list.List({ 
    configureItem : function(item, data, row) { 
     item.setTitle(data.title); 
     item.setSubtitle(data.subTitle); 
     item.setSelectable(true); 
     item.setShowArrow(true); 
    } 
    }); 

    var data = []; 
    for (var i=0; i < 50; i++) { 
    data.push({title:"Item" + i, subTitle:"Subtitle for Item #" + i}); 
    } 

    list.setModel(new qx.data.Array(data)); 
    list.addListener("changeSelection", function(evt) { 
    alert("Item Selected #" + evt.getData()); 
    }, this); 

    list.addListener("longtap", function(evt) { 

     // <--- HERE I NEED KNOW THE LIST ITEM PRESSED 

    }, this); 

    page.getContent().add(list); 
},this); 

this.getManager().addDetail(page); 

page.show(); 

お願いします。おかげ

答えて

1

ソリューション:

list.addListener("longtap", function(evt) { 
    var originalTarget = evt.getOriginalTarget(); 
    while (originalTarget.tagName != "LI") { 
     originalTarget = originalTarget.parentNode; 
    } 

    var itemIndex = parseInt(originalTarget.getAttribute("data-row"), 10); 
    alert("Item Selected #" + itemIndex); 
}); 
関連する問題