点击事件在iOS上无效

来源:10-1 课程总结

宝慕林3443678

2018-11-21

js部分

renderImage = () => {
        return (
            <div className="head-img" onClick={() => {
                console.log(this.input)
                this.input.click()
            }}>
                <p>从相册选择</p>
                <img src="./assets/common/ic_more.png" id="my-img"/>
                <input type="file" id="img-upload" ref={rp => this.input = rp}/>
            </div>
        )
    }

.css部分

.head-img {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 60px;
  margin-top: 10px;
  background-color: white;
  justify-content: space-between;
  align-items: center;
  cursor: pointer
}

#img-upload {
  display: none;

}

在Android手机上可以调出文件选择框,但是在iOS无效,求解
另外已经引入fastclick.js

<script type='application/javascript' src='./js/fastclick.js'></script>
    <script>
        if ('addEventListener' in document) {
            document.addEventListener('DOMContentLoaded', function () {
                FastClick.attach(document.body);
            }, false);
        }
        if (!window.Promise) {
            document.writeln('<script src="https://as.alipayobjects.com/g/component/es6-promise/3.2.2/es6-promise.min.js"' + '>' + '<' + '/' + 'script>');
        }
    </script>

图片描述

写回答

1回答

吕小鸣

2018-11-22

同学你好,这里我建议不要引入faskclick,而使用原生的click来试试哈,现有的手机ios浏览器已经没有点击延迟了哈

0
2
吕小鸣
回复
宝慕林3443678
同学你好,首先你提的这个问题涉及到文件上传,这在课程里面是不涉及地哈,所以我也是根据我之前的经验来给你建议,不知你是否有按照上面的操作试一下呢?
2018-11-22
共2条回复

移动Web App开发之实战美团外卖

运用React全家桶技术,从0到1学习全面的移动 Web APP 开发技术。

389 学习 · 235 问题

查看课程