2012-11-26 53 views
6

我需要自行處理重定向事件。我的意思是我需要能夠處理一個href事件並自己進行重定向。Sencha Touch 2 - 在我的Sencha Touch 2應用程序中阻止a-href事件(a-href事件處理)

我使用以下代碼:

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

通過沒有上述功能的工作(stopEvent,stopPropagatioon,的preventDefault)的。應用程序始終在我的應用程序Web視圖中打開鏈接。

在這裏任何可能的方式來禁用href的開放鏈接?

回答

12

我通常這樣做是這樣的:

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

希望這有助於

+0

這是它!非常感謝! – MalcomCZ

+1

不錯,這也解決了我的問題。如果說Sencha Touch 2.2.1截至2013年8月13日的數據沒有記錄在案,那麼我們願意失去疊加信譽點。這只是我在升級項目中遇到的許多棘手問題之一。有點'讓我想起IE。 #endrant。 –