2017-10-12 122 views
0

我試圖使用動作鏈接/超鏈接從ASP.NET MVC視圖(.html)調用JavaScript函數()/鏈接按鈕。左鍵單擊工作正常,但右鍵單擊鏈接並選擇「打開新標籤頁」不起作用。當超鏈接/動作鏈接/鏈接按鈕被右鍵單擊時,'新窗口或頁面中未打開'

我嘗試迄今已有:

<a href="#" onclick=aFunction()>link</a> 

    aFunction(object) 
    { 
     alert('Inside Javascript Function') 
    } 
+0

我在anchor tag上添加了像這樣的target屬性。 link

回答

0

This answer可能的幫助。

試着給你的超鏈接的id屬性(比如,id="foo"),並創建一個執行指定的動作click處理每當a#foo是右鍵單擊:

document.getElementById("foo").onmousedown = function(event) { 
    if (event.which == 3) { 
     alert('Inside Javascript Function'); 
    } 
} 

編輯

每您的評論:

我不想盡快執行函數t他用戶右鍵單擊。我想在用戶右鍵單擊鏈接並單擊打開新選項卡選項後執行該功能。

我不認爲這是可能的(除非有一些神祕的Chrome JavaScript API檢測到這種事件)。 JavaScript不知道Chrome的工作原理。此外,JavaScript被沙盒化的方式使得它無法訪問用戶的本地文件系統 - 擴展後,它不應該知道Google Chrome進程本身在做什麼。

+0

這看起來接近我的目標,但我不想在用戶右鍵單擊時執行該功能。我想在用戶右鍵單擊鏈接並單擊打開新選項卡選項後執行該功能。 謝謝。 –

+0

@ G.Ashu我認爲這是不可能的。請看我更新的答案。 – alex

相關問題