【问题标题】:Fire click event in ionic cordova on ios 11.2.x doesn't workios 11.2.x 上的 ionic cordova 中的 Fire click 事件不起作用
【发布时间】:2018-03-06 20:01:18
【问题描述】:

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

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() 没有触发。

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

【问题讨论】:

    标签: ios angular cordova ionic-framework ionic3


    【解决方案1】:

    我已经通过这种方式解决了,用 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);
        }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-26
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      • 1970-01-01
      相关资源
      最近更新 更多