簡體   English   中英

onclick 事件在 iphone 上不起作用

[英]onclick event doesn't work on iphone

我有應該上傳圖片的表格。 放置在 iframe 中的每個表單

<body style="margin: 0; padding: 0; height: 100%; cursor: pointer;" onclick="document.querySelector('.register-upload-input').click()">
   <form method="POST" action="http://127.0.0.1:8000/de/client/registerupload" accept-charset="UTF-8" enctype="multipart/form-data">
      <input class="register-upload-input" style="display: none;" onchange="document.querySelector(".preloader").style.display="block";document.querySelector("form").submit();" accept=".jpg,.jpeg,.png" name="image" type="file">
   </form>
</body

所以我點擊 iframe,出現文件上傳對話框,我可以選擇圖像。 body元素有onclick事件。 一切正常,但是當我嘗試使用 iphone 上傳圖像時,沒有任何反應,對話框提示不顯示。 它適用於android,但不適用於iphone。 我做了研究,通常發生這樣的問題是因為元素應該在樣式中具有cursor: pointer 我添加了它,但沒有任何改變

不要在<input>上設置display:none ,你可以設置height:0px

編輯:

查了一下筆記,發現stackoverflow上也有同樣的問題。

同樣的問題在這里

導致此問題的三個原因:

  1. 在 javascript 中,刪除 return false; 事件監聽器。

  2. 在樣式表中,調用動作的元素必須具有屬性 cursor:pointer;。 可能蘋果在這些呼吁中提出了這一要求,以獲得對用戶界面的最佳反饋。

  3. 再次在樣式表中,我們不能設置 display: none; 對於隱藏輸入,因為某些瀏覽器不接受對未顯示元素的點擊。

將以下 CSS 添加到IFrame內容。

html, body {
    touch-action: auto;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM