2014-01-08 45 views
0

我設法得到了我想要在Chrome中完美工作的東西,但是當我在IE中試用它時,它失敗了。是否可以防止中間點擊在IE的新窗口中打開鏈接?

我只想將e.preventDefault()應用到鏈接,以便我可以用不同的方式處理click事件。不幸的是,我所嘗試過的東西都沒有奏效,而且我一直在這裏待了好幾個小時。

我也搜遍了Google多次,無奈之下重新閱讀了一些相同的Stack Overflow問題,都無濟於事。

任何意見或建議表示讚賞。

作爲參考,這jsfiddle說明了這個問題。

document.getElementById('link').addEventListener('click', function(e){ 
    e.preventDefault(); 
}, false); 

在Chrome瀏覽器中,如預期的那樣,在鏈接中單擊不執行任何操作。在IE中,點擊它仍然會在新窗口中打開它。 :/

回答

0

您可以嘗試下面的代碼,以防止在鼠標中鍵點擊時打開新的選項卡。

document.getElementById('link').addEventListener("click", function(e){ 
    if(e.which == 2) { 
     e.preventDefault(); 
    } 
    }, false); 

更多信息:

鼠標按鈕的信息,請點擊此代碼將幫助你。

左 - 1

中東 - 2

右鍵 - 3

$(document).mousedown(function(e){ 
    switch(e.which) 
    { 
     case 1: 
      //left Click 
     break; 
     case 2: 
      //middle Click 
     break; 
     case 3: 
      //right Click 
     break; 
    } 
    return true;// to allow the browser to know that we handled it. 
}); 

我希望它會幫助你。

+0

謝謝,但不幸的是,無論我們是否檢查'which'屬性,e.preventDefault()都不會阻止IE11打開新選項卡中的鏈接。 – Joshua

相關問題