让我说我有一个链接:
<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();
});
所以它会正常运行事件吗?
答案 0 :(得分:9)
您只能阻止默认行为(使用e.preventDefault()
)。
现在,如果您希望在.fadeOut()方法完成后导航链接,则应该阻止默认行为并使用fadeOut方法的回调参数在动画结束时进行导航:
$("#dl").live("click", function(e){
e.preventDefault();
var href = this.href;
$("#dlbox").fadeOut(500, function() {
window.location = href;
});
});
<强> DEMO 强>
答案 1 :(得分:2)
没有doDefault()命令,您需要重新设计代码。
我会阻止默认,然后通过window.location
自行执行网址。可能也会对锚标签使用不同的标签 - 通过覆盖其功能,首先使用它是没有意义的。
例如:
$("#dl").live("click", function(e){
e.preventDefault();
$("#dlbox").fadeOut(500, function() { window.location='www.fish.com'; });
});
答案 2 :(得分:-1)
也许this post可以帮到你?您也可以返回false以防止链接转到href中的位置。