關於iphone點擊readonly的input虛擬鍵盤不消失的情況

来源:http://www.cnblogs.com/shisufei/archive/2017/05/26/6909450.html
-Advertisement-
Play Games

今天遇到了一個比較棘手的問題,事情是這樣的: 咱有一個添加地址的頁面,大概長這樣: 收貨地址後那個“請選擇收貨地址”是一個readonly的input, 咱一進頁面,直接點擊這個“請選擇收貨地址”是完全看不出任何毛病的, 但是按照大家的習慣啊,當然是一個一個往下填, 這時問題就來了,安卓手機是正常的 ...


今天遇到了一個比較棘手的問題,事情是這樣的:

咱有一個添加地址的頁面,大概長這樣:

收貨地址後那個“請選擇收貨地址”是一個readonly的input,

咱一進頁面,直接點擊這個“請選擇收貨地址”是完全看不出任何毛病的,

但是按照大家的習慣啊,當然是一個一個往下填,

這時問題就來了,安卓手機是正常的,顯示這樣:

可蘋果手機不一樣了,

咱輸了手機號碼,點“請選擇收貨地址”,

這時候,本該關閉的虛擬鍵盤依然呆在屏幕上,彈出的地址選擇器部分顯示在虛擬鍵盤上方,整個頁面顯得擁擠不堪,(這裡沒法截圖啊!)

那麼,如何讓這個虛擬鍵盤關閉就成了一個燒腦的問題了,

於是嘗試了網上的各種辦法:

①給它加個 -webkit-user-select:none 的style,結果並沒有任何變化,pass

②給它加個disabled屬性,結果點擊的時候虛擬鍵盤確實沒有了,可地址選擇器也不出現了,pass

③那就吧input改成span吧?可是依然出現原來那個問題,在這裡終於發現了一個現象,當我們點擊這個“請選擇收貨地址”,游標居然還停在剛纔輸入手機號的那個框裡頭,這會兒有了點眉目了

④那接著③繼續加,在“請選擇收貨地址”的點擊事件里第一行加個this.focus();乖乖,還是不行,具體什麼情況記不清啦,pass

⑤於是接著百度了一下:終於在百度知道https://zhidao.baidu.com/question/1240497270717962459.html找到了答案,即

  嘗試讓獲取焦點的元素失去焦點,document.activeElement.blur();

同樣,是在“請選擇收貨地址”的點擊事件里第一行加的,一試,果然完美解決了,

接著又把span改回了原來的input,也運行正常!!!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 轉載請註明出處:http://www.cnblogs.com/Joanna-Yan/p/6878529.html 前面有講到Spring+SpringMVC+MyBatis深入學習及搭建(三)——MyBatis全局配置文件解析 1. 輸入映射 通過parameterType指定輸入參數的類型,類型可 ...
  • 一直都在用yii2做項目,有在用自動化配置,但是沒有自己去配置過。中午沒事去看了下yii的初始化代碼,發現都是php而已! yii2初始化項目代碼 所以,我們做項目肯定是可以用php做的,於是我新建了個文件夾,名為autoConfig,裡面創建了個init,裡面寫瞭如下代碼: 也就是一個非常簡單的自 ...
  • mybatis的參數傳遞以及resultType和resultMap的使用 ...
  • 《Spring源碼深度解析》從核心實現和企業應用兩個方面,由淺入深、由易到難地對Spring源碼展開了系統的講解,包括Spring的設計理念和整體架構、容器的基本實現、預設標簽的解析、自定義標簽的解析、bean的載入、容器的功能擴展、AOP、資料庫連接JDBC、整合MyBatis、事務、Spring ...
  • 需求分析: 有個廠家,下麵有很多代理商(商戶或門頭等),之前商戶進貨、庫存、銷售、客戶資料等記錄在excel表格中 或者無記錄,管理比較混亂,盈利情況不明。不能有效瞭解店鋪經營情況和客戶跟蹤記錄 廠家也不能實時瞭解下麵代理商的經營狀況和庫存情況 解決方案: 本系統角色主要分兩個層級:總管理(廠家), ...
  • 起因:開發中慢慢的學習使用es6,但是JavaScript需要瀏覽器來解析,而不是所有瀏覽器都支持es6,所以為了相容es6,需要第三方工具進行編譯es6。 工具:node,gulp,gulp-babel,babel-preset-es2015。 備註:只介紹基於node,gulp下的babel編譯 ...
  • HTML表單格式化 一、說明 用table佈局 二、效果 三、代碼 ...
  • 首先簡介一下http-server: http-server是一個簡單的零配置命令行http伺服器,他對於生產使用來說足夠強大,他是簡單和可刪節足以用於測試,足夠簡單易用,而且可用於本地開發 1、首先你要安裝node 2、然後可以通過npm來全局安裝 sudo cnpm install http-s ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...