如果使用preventDefault,如何继续下载?

时间:2012-09-25 23:18:24

标签: javascript jquery

我有一个jQuery模式UI基本上阻止用户下载文件。我使用preventDefault来停止下载管理器显示。但这会杀死GET

用户点击Agree后,如何申请继续下载?

我用谷歌搜索了这个,其中大多数都在提交表格。

1 个答案:

答案 0 :(得分:2)

记住文件的网址,然后在用户点击window.location时将其设置为Agree

<强> HTML:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/smoothness/jquery-ui.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
    </head>
    <body>
        <a href="http://google.com" id="btn">Button</a>
        <div id="dlg">Continue?</div>
    </body>
</html>​

<强> JavaScript的:

var dlg$ = $('#dlg').dialog({
    title: 'Confirm action',
    autoOpen: false,
    buttons: {
        'Agree': function() {
            dlg$.dialog('close');
            window.location = dlg$.data('url');
        }
    }
}),
btn$ = $('#btn').on('click', function(e) {
    e.preventDefault();
    dlg$.data('url', this.href).dialog('open');
});​