6

w mojej aplikacji Sencha Touch 2 Potrzebuję obsługi zdarzeń przekierowania na własną rękę. Rozumiem przez to, że muszę być w stanie poradzić sobie z wydarzeniami href i samodzielnie przeprowadzić przekierowanie.Sencha Touch 2 - zapobieganie zdarzeniom a-href (obsługa zdarzeń a-href)

używam następujący kod:

Ext.Viewport.element.addListener("tap", function(e) { 
    e.stopEvent(); 
    e.stopPropagation(); 
    e.preventDefault(); 
    var href = e.target.getAttribute("href"); 
    // ... my code ... 
}, this, {delegate: "a"}); 

żadna z wyżej wymienionych funkcji pracy (stopEvent, stopPropagatioon, preventDefault). Aplikacja zawsze otwiera link w widoku mojej aplikacji internetowej.

Czy jest tutaj jakiś sposób, aby wyłączyć linki otwierające href?

Odpowiedz

12

zwykle zrobić to w ten sposób:

Ext.Viewport.element.dom.addEventListener('click', function (e) { 
    if (e.target.tagName !== 'A') { 
     return; 
    }; 
    e.preventDefault(); 
    var href = e.target.getAttribute('href'); 
}, false); 

Try here

Nadzieja to pomogło

+0

to jest to! Wielkie dzięki! – MalcomCZ

+1

Fajnie, to rozwiązało również mój problem. Jestem gotów stracić punkty reputacji stackoverflow za to, że Sencha Touch 2.2.1 z 8/13/2013 nie jest tak dobrze udokumentowany. To był tylko jeden z wielu problemów, z którymi borykam się podczas projektu aktualizacji. Kinda "przypomina mi IE. #endrant. –