2013-02-07 30 views
2

我們有遺留頁面,其鏈接位於target="_blank"。在點擊這些時,我想忽略這些,並運行一些用於打開窗口的JavaScript。jQuery - 抓取並覆蓋目標鏈接= _blank

這是可能的jQuery,如果是的話,我應該研究什麼方法/術語?

在此先感謝

回答

4
$('a[target=_blank]').click(function(e){ 
    e.preventDefault(); 
    //do what you want here 
}); 

演示:http://jsfiddle.net/kkhNr/1/

+1

理想。謝謝,與古老版本的jQuery一起工作。 –

+1

不客氣。您應該升級到1.9.0,這只是一個複製粘貼:D – Cristy

+0

我們需要對我們的應用程序的任何代碼更改進行大量測試,而重新測試所需的時間對於替換一個文件來說是微不足道的。我們計劃在未來幾個月內加入生活的土地升級。再次感謝您的幫助:) –

3

試試這個

$('a[target=_blank]').click(function(event) { 
     event.preventDefault();    
     // Now make a call to your own function 
    }); 
6

只是使用事件代表團,以防止目標= 「_空白」 的鏈接從工作,例如:

$(document).on('click', 'a[target="_blank"]', function(event) { 
    event.preventDefault(); 
    alert('Prevented'); 
}); 
+0

謝謝。看起來我需要升級jQuery。我們正在運行1.2.6,在1.7中添加:) http://api.jquery.com/on/ –

+1

如果您無法升級,也許您可​​以使用舊的.live功能。 –

+0

感謝羅傑,我們計劃在不久的將來進行升級,但是我現在要解決的問題具有更高的優先級。升級將需要我們運行一個大型測試套件來確保一切仍然有效。您的解決方案對於未陷入黑暗時代的人來說是完美的。再次感謝 –