【发布时间】:2018-05-19 18:32:51
【问题描述】:
以下代码可在除 safari mobile 之外的任何地方使用。 显然 onchange 永远不会被触发。
// create a hidden file input element
var input = document.createElement("input");
input.type = "file";
// when the input content changes, do something
input.onchange =
function(event)
{
// upload files
}
// Trigger file browser
input.click();
我发现了类似的示例,但是它们都指的是文件输入甚至存在某种其他可见表示形式的场景,并且它们都涉及表单清除解决方法。这在这里行不通。
点击图片时会调用此代码,以上传新图片作为替换。
有什么提示吗?有什么我做错了吗?
【问题讨论】:
-
onchange在客户端实际选择一个或多个文件之前不会被触发。.click()可能无法在<input type='file' />上的某些浏览器中运行。 -
.click 适用于我能够测试的所有内容,并且文件选择器在 safari iOS 上正确打开。没有触发的是 onchange 在文件被选中并且选择对话框关闭之后。
标签: javascript ios safari onchange