0

クリックでファイルをダウンロードするリンクがあります。そのリンクタグの onclick イベントで、クリックされたときにいくつかの ajax 操作を行う関数を作成しました。

しかし、そのリンクをクリックしても関数は呼び出されません。

ただし、コードをデバッグするか、その js 関数にアラート ボックスを配置すると、正常に動作します。これは何が原因でしょう?

私のコード:

HTML:

<a href="DllLocation.dll" onclick=fntrackdownloads() ></a>

JS:

function fntrackdownloads() {
    $.get("default.aspx?RT=1", Responsetrackdownloads);    
}

作業コード:

JS:

function fntrackdownloads() {
    $.get("default.aspx?RT=1", Responsetrackdownloads);    
    alert("something");
}

どんな助けでも大歓迎です。

注: アンカー タグはコード ビハインドから動的に生成され、dom に書き込まれます。href 属性に含まれる dll の場所がわかりません。

4

3 に答える 3

1
$(document).("click", "a.putaclass", function(e) {
     //what to do on the click
     var $a=$(this);
     $.get(pathtoserver,function(d) {
         alert('data received:'+d);

          }) 

     return false;  //or e.preventDefault
    });
于 2013-01-23T11:21:49.123 に答える
0

これはおそらく、デフォルトのアンカー動作がAJAX応答を中断するためです。

return falseクリックで呼び出される関数の最後に配置して、何が起こるかを確認してください。

于 2013-01-23T11:26:57.700 に答える
0

私はあなたが"quotes"ここに欠けていると思います:

<a href="DllLocation.dll" onclick="fntrackdownloads()"></a>
//--------------------------------^------------------^

以上の jQuery の方法:

$('a[href="DllLocation.dll"]').click(function(){
  fntrackdownloads();
});

$('a[href="DllLocation.dll"]').click(fntrackdownloads);
);
于 2013-01-23T11:23:29.620 に答える