如何在单击回调函数中发送url

时间:2013-11-28 15:59:41

标签: jquery

我有一个像这样的功能

$(function(){
    $("selector").on("click", "selector", function(e){
        e.preventDefault();
        var url = $(this).attr("href");

        //run code here then in the callback send the url.

    });
});

基本上我不想使用setTimeout,但我希望日志文件在触发window.location.href = url之前完成其日志;

这可以通过点击事件来实现。

2 个答案:

答案 0 :(得分:1)

尝试使用jquery done()

$(function(){
    $("selector").on("click", "selector", function(e){
        e.preventDefault();
        var url = $(this).attr("href");

            var dfd = $.Deferred();

            dfd
           .done( function(){//log code} )
           .done(function() {
            window.location.href=url
           });

    });
});

答案 1 :(得分:0)

您可以使用beforeUnload jQuery事件在进入下一页之前执行任何特殊技巧。

$('selector').click(function() {
    $(window).bind('beforeunload', function() {
        var url = $(this).attr("href");
        //run code here then in the callback send the url.
    });
});