假设我有一个链接:

<a href='http://example.com/file.zip' id='dl'>Download</a>

当有人单击它时,我想做一些事情,例如:
$("#dl").live("click", function(e){
    e.preventDefault();
    $("#dlbox").fadeOut(500);
});

在e.preventDefault之后,有没有办法继续执行doDefault?就像是
$("#dl").live("click", function(e){
    e.preventDefault();
    $("#dlbox").fadeOut(500);
    e.doDefault();
});

它将正常运行该事件?

最佳答案

您只能阻止默认行为(使用e.preventDefault())。

现在,如果您希望.fadeOut()方法完成时可以导航链接,则应避免默认行为,并在动画完成时使用fadeOut方法的callback参数进行导航:

$("#dl").live("click", function(e){
    e.preventDefault();
    var href = this.href;
    $("#dlbox").fadeOut(500, function() {
        window.location = href;
    });
});

DEMO

关于javascript - e.preventDefault-有没有办法做Default?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9566954/

10-12 15:50