javascript - 电子 ondrop 和 ondrag- 事件未触发
问题描述
我试图让用户只需将文件拖放到主窗口中,而不必单击输入表单,我完全被难住了。
在电子 6.14.5 中似乎没有任何拖放事件正在触发。
这是我的代码,它在浏览器中运行良好,我在网上找到的大多数解决方案都需要 preventDefault(),但我不认为“默认”被阻止甚至首先发生,包括或排除没有不同。
let input = document.getElementById('inbox');
input.ondragenter = function (e) {
e.preventDefault()
console.log('dragenter')
};
input.ondragleave = function (e) {
e.preventDefault()
console.log('ondragleave')
};
input.ondragover = function (e) {
e.preventDefault()
console.log('ondragover')
}
input.ondrop = function (e) {
e.preventDefault()
console.log('ondrop')
};
<div id="inbox">
Source Data:
<input type="file" id="fileInput" name="inputter">
</div>
更新:我发现 ondrag* 事件实际上正在触发,但是只有当我从电子窗口中拖动一个元素时它们才会这样做。如果我尝试从操作系统拖入一个文件,它根本没有响应,实际上可能值得注意的是,一旦我尝试拖动某些东西,我的鼠标光标就会变成禁止符号 ()
是否有一些窗口设置会阻止这个?
解决方案
推荐阅读
- python - 使用 psycopg2 的“ELF 文件操作系统 ABI 无效”
- ffi - 如何将函数分配给 Rebol 结构成员
- javascript - js切换多个div
- android-tv - 将 android TV 应用程序部署到 beta 测试人员的好方法是什么
- css - 在角度模态动画中实现缩放效果
- oracle - PL/SQL 连接
- jquery - 如何从 CSV AJAX 请求修改 DataTables 列?
- python - Pandas datetime:找到日期时间后第一个日期的正确年份
- oracle - 如何从一个 dbms_sql.number_table 中选择另一个
- python - 通过结构化范围将 csv 解析为 python 字典