Można dodawać detektory do elementów w kodzie HTML, które mogą powodować przełączanie widoku. Na przykład,
// simple HTML snippet contained in Panel
<a class="my-link">Click Me!</a>
// on after load/after render (need to ensure that the elements exists in the page!)
// get reference to the containing panel (tab)
var panel = this.items.get(0);
panel.getEl().on({
tap: function(e){
console.log('i was clicked!');
},
delegate: 'a.my-link'
});
Opcja delegat pozwala przekazać selektor oznacza to, że zdarzenie zostanie wyzwolony tylko wtedy, gdy element pasujący że przełącznik jest w łańcuchu docelowe zdarzenia (tj zwraca coś w e.getTarget (delegata) połączenie).
EDIT można uzyskać dostęp atrybuty gwintowanego elementu przy użyciu węzła DOM podsłuchu lub użyj Ext.fly owinąć się wokół niego Ext.Element instancję i użyj metody pomocnika.
console.log(e.getTarget('a.my-link')); // logs DOM node
console.log(Ext.fly(e.getTarget('a.my-link'))); // logs Ext.Element wrapping DOM node
console.log(e.getTarget('a.my-link').href); // logs href via DOM node property
console.log(Ext.fly(e.getTarget('a.my-link')).getAttribute('href')); // logs href via Ext.Element getAttribute() method
zależności od zagnieżdżenia może być w stanie usunąć z selektora() wezwanie getTarget (tj jeśli zawsze dotknięcie elementu słuchania na czym można go usunąć, ale jeśli są dzieci w drugim elemencie, którego słuchasz, będziesz go potrzebować, w drugim przypadku "target" będzie dzieckiem, z którym bączy się wydarzenie, więc href itp. będzie błędny. Jeśli to ma sens ... :))
dziękuję stuart, czy jest sposób na odczytanie href lub coś, co mogę powiedzieć sencha, aby załadować określoną stronę? –
Zobacz zmiany w oryginalnej odpowiedzi. :) – Stuart
niesamowite dzięki za pomoc –