鍍金池/ 問答/HTML/ 阻止a標簽跳轉(zhuǎn),并進行處理的問題

阻止a標簽跳轉(zhuǎn),并進行處理的問題

在app的內(nèi)嵌H5頁面中,需要在點擊特定鏈接時,調(diào)用app的方法,打開app的原生頁面。所以給某些a標簽設(shè)置了click事件:

$('a').click(function(){
    if(在app中){
        app.open('xxx');
        return false;
    }
    
    // 通過瀏覽器訪問
    location.href = $(this).attr('href');
});

但是現(xiàn)在引用了神策分析,它的trackLink事件也是采用的相同的方法,如果a標簽是跳轉(zhuǎn)鏈接,就通過location.href跳轉(zhuǎn)。不是跳轉(zhuǎn)鏈接的條件如下:
神策分析的代碼

這樣就沖突了,頁面就會發(fā)出兩個請求,導(dǎo)致在打開app的原生頁面然后返回webview時,webview里面的頁面也跳轉(zhuǎn)了。

請教各位大神,怎樣才能解決這個問題?

回答
編輯回答
苦妄

preventDefault

2017年12月7日 15:31
編輯回答
茍活
$('a').click(function(e){
    e.preventDefault();
    if(在app中){
        app.open('xxx');
        return false;
    }
    
    // 通過瀏覽器訪問
    location.href = $(this).attr('href');
}
2017年6月12日 13:11
編輯回答
浪婳
$('a').click(function(e){
    e.preventDefault(); // 阻止默認事件
    if(在app中){
        app.open('xxx');
    }else{
        // 通過瀏覽器訪問
        location.href = $(this).attr('href');
    }
}
2017年6月6日 02:06
編輯回答
悶油瓶
<a href="javascript: void(0);" link="www.baidu.com"></a>

把默認的鏈接寫到一個新的屬性上

2017年3月24日 16:48
編輯回答
淚染裳
<a href="javascript: void(0);"></a>

這樣原a標簽的點擊就沒有任何反應(yīng),再綁定click

$('a').click(function(){
    if(在app中){
        app.open('xxx');
        return false;
    }
    
    // 通過瀏覽器訪問
    location.href = $(this).attr('href');
});
2017年12月11日 02:54