2014-09-29 53 views
0

,因爲我有兩個圖像和鏈接懸停狀態,我使用的代碼的一個公共部分,以確保你沒有需要點擊兩次打開iOS上的鏈接。查看使用的代碼。touchend和目標_blank不予配合

然而,我注意到,使用鏈接時,現在的目標=「_空白」,它無論是在父母以及新窗口中打開。我怎樣才能防止這種情況發生?當然,我希望父母標籤保留在當前網站上。

另外,我也注意到,JavaScript的似乎已經做出敲擊了幾分感性的一面,即有時它已經打開下一個頁面上的鏈接,只有一個水龍頭。這是正常的嗎?有沒有解決方案?

$('a').on('click touchend', function(e) { 
 
    var el = $(this); 
 
    var link = el.attr('href'); 
 
    window.location = link; 
 
\t 
 
});

回答

1

您可以使用e.preventDefault();取消原生行爲,然後使用window.open(link,target);打開適當的目標鏈接:

$('a').on('click touchend', function(e) { 
    e.preventDefault(); 
    var el = $(this); 
    var link = el.attr('href'); 
    var target = el.attr('target'); 
    window.open(link, target); 

}); 
+0

謝謝!因此,如果我理解正確,它會保留觸摸屏設備上的行爲,並在鼠標點擊設備上將其取消。另外,我是否理解正確,我可以在使用此代碼後輸入target =「_ blank」,還是需要將一些腳本合併到鏈接中? (對不起,我不是很熟悉JavaScript) – 2014-09-30 00:47:52

+0

在iOS和常規瀏覽器上,現在所有鏈接都在新窗口中打開。我試圖只讓那些在新窗口中打開目標_blank屬性的目錄... – 2014-09-30 01:11:36

+0

使用target =「_ self」屬性可以在同一個選項卡中打開鏈接。 – 2014-09-30 10:28:17