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;
};