Javascript 触发丢弃事件

Javascript 触发丢弃事件,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个带有input type=“file”的表单。我在输入周围有一个div。然后我将输入设置为显示:无。在JavaScript中,我设置当您选择div时,输入将被选中 这一切都很好,但我如何才能使当您将文件拖到div上时,input会触发drop事件 下面是我将如何执行单击事件: $('#target').click(); 我在找这样的东西: $('#target').drop(); $(文档).ready(函数(){ $('#browseFileDiv')。单击(函数(e){ $(

我有一个带有
input type=“file”
的表单。我在
输入
周围有一个
div
。然后我将
输入设置为
显示:无
。在JavaScript中,我设置当您选择
div
时,
输入将被选中

这一切都很好,但我如何才能使当您将文件拖到
div
上时,
input
会触发
drop
事件

下面是我将如何执行
单击
事件:

$('#target').click();
我在找这样的东西:

$('#target').drop();

$(文档).ready(函数(){
$('#browseFileDiv')。单击(函数(e){
$(this).find('input[type=“file”]”)。单击();
});
$(“#browseFileDiv输入”)。单击(函数(e){
e、 停止传播();
});
});
#浏览文件div{
高度:200px;
宽度:200px;
背景颜色:橙色;
边界半径:50%;
}
#browseFileDiv>输入{
显示:无;
}

$('#browseFileDiv')。on('drop',function(){/*code here*/})
可能就是您要找的


你可能真的想用。单击查看源代码按钮。

首先,您不需要在
周围加上一个div,然后用javscript触发该输入文件的
。如果您单击div,则为该输入文件创建一个
事件并设置样式,因此,您可以仅使用HTML触发单击事件,而无需使用javascript:

<label for="openFile" id="browseFile"></label>
<input id="openFile" name="img" type="file">
**请注意,上述方法也适用于多个文件


参考资料:

看看这个有效的例子。你可以把它作为answer@Horay但这并没有发送丢弃事件,这不是你想要的吗?@godzsa你是对的,但它实现了我想要的。它没有回答问题,但实现了我想要的。如果有人有更好的方法,那么我洗耳恭听!:)@科里,只有在有输入的情况下它才能工作,对吗?意思是我不能让它显示:没有。对吗?我想他想在
dragenter
被触发时触发
input
上的
drop
事件,但我还不知道如何实现这一点,我正在尝试触发drop事件,但我运气不好,可能需要使用
jQuery UI
的Dropable小部件和Dragable小部件
DroppableInstance.drop(function(){})
在您的示例中,当您拖放图像时,它会打开一个对话框来选择一个imageSure,因为这是
document.getElementById('openFile')。单击()仅显示一个示例以捕获您需要的文件此
var files=event.dataTransfer.files好的。让我检查一下。我不明白为什么我需要返回false?
var browseFile = document.getElementById('browseFile');
browseFile.ondragover = function () {
    return false;
};
browseFile.ondrop = function (event) {
    event.preventDefault && event.preventDefault();
    var files = event.dataTransfer.files;
    console.log(files);
    return false;
};