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 的。我不知道什么 dll 位置将出现在 href 属性中。

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

我认为你错过了"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 回答
0

这可能是因为默认锚行为会中断您的 AJAX 响应。

试着把return false点击调用的函数放在最后,看看会发生什么。

于 2013-01-23T11:26:57.700 回答