Html锚标签onclick()和href同时执行

Che*_*How 14 html javascript jquery get onclick

类似于HTML锚链接 - href和onclick两者?帖子,我的是:

<a href="/tmp/download.mp3" onclick="update();">Download link</a>
Run Code Online (Sandbox Code Playgroud)

update()方法将向服务器发送另一个HTTP GET方法,以更新已下载的文件并更新数据库.从HTML代码中,有2个GET请求被一起触发,只有ONE将从服务器获得响应(href下载响应).在update()没有被执行.有没有任何方法可以让两个GET方法都被执行?欢迎Javascript和Jquery建议!

mus*_*fan 23

忘记了href,只需在点击功能中完成所有操作.更新完成后,您可以导航到另一个页面.这是我的JQuery建议:

HTML

<a id="download" href="/tmp/download.mp3">Download link</a>
Run Code Online (Sandbox Code Playgroud)

JavaScript(使用JQuery)

$("#download").click(function(e){
    e.preventDefault();//this will prevent the link trying to navigate to another page
    var href = $(this).attr("href");//get the href so we can navigate later

    //do the update

    //when update has finished, navigate to the other page
    window.location = href;
});
Run Code Online (Sandbox Code Playgroud)

注意:我在添加ida标签,以确保它可以精确地通过JQuery来选择

  • 我会像之前一样离开`href`,然后使用`this.href`来更新事件处理程序中的`window.location`.如果每页有多个下载链接(很可能),那么切换到使用类而不是ID选择器更容易,并且还允许任何未启用JavaScript的人使用(部分)功能. (4认同)