2017-10-12 7 views
0

アクションリンク/ハイパーリンクを使用してASP.NET MVCビュー(.html)からJavaScript関数を呼び出そうとしています()/リンクボタン。左クリックはうまくいくが、リンクを右クリックして「新しいタブまたはページを開く」を選択すると機能しない。ハイパーリンク/アクションリンク/リンクボタンを右クリックしたときに '新しいタブまたはページで開く'が表示されない

私の試みは、これまでされています:

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

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

アンカータグにこのようなtarget属性も追加しました。 –

答えて

0

This answerは役立つかもしれません。

(たとえば、id="foo")ハイパーリンクid属性を与えてみて、a#fooを右クリックしたときに指定されたアクションを実行クリックハンドラを作成します。

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

EDIT

パーあなたのコメント:

私はすぐに機能を実行したくない彼はユーザーを右クリックします。私は、ユーザーがリンクを右クリックし、新しいタブを開くオプションをクリックした後、関数を実行したい。

私はこれが可能ではないと思います(そのようなイベントを検出するいくつかの難解なChrome JavaScript APIがない限り)。 JavaScriptがChromeの仕組みを知ることは意味がありません。さらに、JavaScriptはユーザーのローカルファイルシステムにアクセスできないようにサンドボックス化されています。拡張によって、Google Chromeのプロセス自体が何をしているのかを知るべきではありません。

+0

これは私の目標に近いものですが、ユーザーが右クリックするとすぐにこの機能を実行したくありません。私は、ユーザーがリンクを右クリックし、新しいタブを開くオプションをクリックした後、関数を実行したい。おかげさまで –

+0

@ G.Ashuこれは不可能だと思います。私の更新された答えを見てください。 – alex

0

この回答に記載されたアプローチを使用してください:How to run function on new tab from main tab? (Google Chrome)

基本的には、ローカルストレージに機能を格納しますし、ページのページロードイベントで、これは、オープンリンク、ローカルに保存されている機能があるかどうかをチェックだろうストレージがあれば、それを実行します。

関連する問題