收藏
回答

webview中input type="file"安卓手机相册选择图片不触发onchange?求解决

相册内进入选择图片,不触发onchange事件,小米11,华为mate50,华为nova8 pro 都试了不行,在浏览器中可以触发onchagne事件。最近图片或者进入文件管理里面选择图片可以触发onchange的。

链接:https://dev.xinhulu.com/komaTest/arthuraaa.html

代码:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

<script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>

</head>

<body>

<div class="btn">btttnnn</div>

<script>

var vConsole = new window.VConsole();

const btn = document.querySelector('.btn')

btn.addEventListener('click',(e) => {

var fileInput = document.createElement('input')

fileInput.type = 'file'

fileInput.style.display = 'none'

fileInput.addEventListener('change', function () {

console.log(this.files,'files')

}, false)

fileInput.setAttribute('multiple', 'multiple')

document.body.appendChild(fileInput)


fileInput.click()

})

</script>

</body>

</html>

如果触发onchange事件,vconsole控制台会有打印的。

回答关注问题邀请回答
收藏

2 个回答

  • 把喜欢的事情做到极致
    把喜欢的事情做到极致
    2023-06-01

    我也遇到这个问题了,请问解决了吗?

    2023-06-01
    有用
    回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    2023-04-21

    可以尝试用这中写法试一下:<input ref="input" type='file' class='chooseImg' multiple capture="false" accept="image/*" @change="onChange($event)" />

    2023-04-21
    有用
    回复 1
    • 柒
      2023-04-23
      看起来没啥区别,同时我也不能写这样的input给用户点,只能创建虚拟的input,然后我click给他点击出来。
      2023-04-23
      回复
登录 后发表内容