ios 11.2.x上离子cordova中的火灾点击事件不起作用

时间:2018-03-06 20:01:19

标签: ios angular cordova ionic-framework ionic3

我有一个使用离子的应用程序。 我有一个打开文件浏览器的按钮:

HTML页面:

<input class="input-file" name="imgToUpload" id="imgToUpload" type="file"
         #imgToUpload  [(ngModel)]="message.file" (change)="onFileChange($event)" accept="image/gif, image/jpeg, image/png">
    <div ion-button block large (click)="openFileBrowser($event)" style="background-color:#39D2B4;">
      <ion-icon name="camera"></ion-icon>
    </div>

在我的.ts文件中,我有方法openFileBrowser:

openFileBrowser(event:any){
event.preventDefault();
let element : HTMLElement = document.getElementById('imgToUpload') as HTMLElement;
element.click();}

在更新iOS 11.2.6之前,这个方法没有问题。 从iOS 11.2.6开始,click()没有被解雇。

有没有人遇到过这个问题? 我该如何解决? 感谢。

1 个答案:

答案 0 :(得分:0)

我用这样的方式解决了,用div模拟了一个按钮:

<div class="fileUpload" ion-button>
  <input class="upload" type="file" (change)="selectImagem($event)" multiple accept="image/*"/>
</div>

在css中,我隐藏了输入文件

.fileUpload {
    position: relative;
    overflow: hidden;
    background-color: transparent;
    color: #488aff;
    box-shadow: none;

    input.upload {
      position: absolute;
      top: 0;
      right: 0;
      margin: 0;
      padding: 0;
      font-size: 20px;
      cursor: pointer;
      opacity: 0;
      filter: alpha(opacity=0);
    }
  }