2012-05-21 4 views
6

Ich versuche eine Flashcard App mit Sencha Touch 2 zu erstellen. Ich habe ein Etikett mit der Frage, die den gesamten Bildschirm einnimmt, ich will es so, dass, wenn der Benutzer auf das Etikett klickt, die Antwort zeigt. Hat das Label ein 'tap' Event? Es funktioniert, wenn ich einen Knopf benutze, aber nicht, wenn ich ein Etikett benutze.Sencha Touch Label - hat es ein Tap Event?

Ein anderer Weg ist, wenn ich die Schaltfläche auf einem Etikett transparent sein kann. Irgendwelche Vorschläge?

Antwort

4

Sie können dies tun:

label.element.on({ 
    tap : function(e, t) { ... } 
}); 

this helps

1

Ext.Label ist kein tap Ereignis zu haben, entworfen. Sie können jedoch immer noch durch das Element tap Ereignis auf dem Etikett HTML erreichen, zum Beispiel:

label.getContentEl().on{'tap', handler_function,this}

Aber Sencha Touch bietet keine tap Ereignis auf Ext.Label, die ein Kind von Ext.Component ist, so Wenn Sie versuchen, ein Tap-Ereignis auf einem Etikett zu verwenden, ist dies nicht die beste Vorgehensweise.

Ein besserer Ansatz ist Ext.Button mit dem folgenden 2 configs zu verwenden:

{ 
    ui: 'plain', 
    cls: 'btnCls', 
} 

und in Ihrem CSS, Stil seines Hintergrund transparent.

2

eine weitere Möglichkeit, das Tap-Ereignis mit Sencha Touch an das Steuerelement "label" zu binden.

{ 
    xtype : 'label', 
    html : 'my name is abc', 
    listeners : 
    { 
     element : 'element', 
     tap : function(e, t) 
     { 
      alert('1 pressed'); 
     } 
    } 
}