javascript - 如何使用 jquery 获取文件输入中删除文件的值?

标签 javascript jquery html file input

是否可以在文件上传输入字段中设置拖放文件的数据?或者需要将拖放的文件立即上传到服务器?

示例代码:

<input type="file" id="drop-box" />
$("#drop-box").on('drop', function (e) {
    e.stopPropagation();
    e.preventDefault();      
    var files = e.originalEvent.dataTransfer.files;
    readURL(files);
});

最佳答案

您可以使用 $('input')[0].files[0] 代替 e.originalEvent.dataTransfer.files

The drop event is fired when an element or text selection is dropped on a valid drop target.

当您将文件拖放到输入中时,JQuery drop 事件会被触发,但它不会选择文件。 您需要等待几次选择文件。

运行底部示例并在输入上放置文件以查看结果。

$("#drop-box").on('drop', function (e){
    setTimeout(function(){   
        e.stopPropagation(); 
        var files = $('#drop-box')[0].files[0];
        
        $("p").text(files.name);
        $('#drop-box').val("");
    },1);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="drop-box" />
<p></p>

关于javascript - 如何使用 jquery 获取文件输入中删除文件的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33453851/

相关文章:

javascript - 多组 jQuery 文本旋转器不太工作。

javascript - NestJS 在服务中注入(inject)请求或执行上下文

java - Android - 将 HTML 分享到 WhatsApp 和电子邮件

javascript - 将一个组件的值传递给另一个 Angular

HTML/CSS - 显示 :inline not working

javascript - 如何找到双显示器(secondary monitor)屏幕的宽度和高度?

javascript - url jquery Accordion 中没有主题标签

javascript - 正则表达式 - val.replace(/^[^a-zA-Z0-9]*|[^a-zA-Z0-9]*$/g ,"' ');

javascript - Jquery 选择更改时选择的选项

jquery - 更改事件链接的颜色并为其他链接保留不同的颜色