javascript文件输入onchange无法正常工作[仅限ios safari]

时间:2017-12-06 00:15:42

标签: javascript ios safari onchange

以下代码适用于safri 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();

我找到了类似的例子,但它们都指的是甚至存在文件输入的其他可见表示形式的场景,它们都涉及表单清除解决方法。那不行。

点击图片时会调用此代码,以便上传新代码作为替代。

任何提示?我做错了什么?

1 个答案:

答案 0 :(得分:8)

我会被诅咒:在iOS Safari中,与其他浏览器相比,还需要两个额外的条件:

1)输入必须实际附加到DOM。

2)设置.onchange不起作用:必须使用addEventListener。