【问题标题】:Disabling mobile Safari's focus event (zoom)禁用移动 Safari 的焦点事件(缩放)
【发布时间】:2011-06-27 12:49:23
【问题描述】:

在 iOS 设备上单击输入字段时,会放大该元素。我可以禁用这个焦点事件吗?

【问题讨论】:

    标签: html ios mobile-safari


    【解决方案1】:
     document.getElementById("idOfInputField").onfocus = function(){return false;}
    

    【讨论】:

      【解决方案2】:

      我提出了解决问题的要点。 https://gist.github.com/2008932

      接受的解决方案不正确,因为它将完全取消焦点,从而阻止数据输入。

      【讨论】:

      • 太棒了!当这似乎很优雅地解决了这个问题时,不敢相信每个人仍然建议使用视口黑客。谢谢
      • 为了记录,这是一个视口黑客——它只是 JavaScript 中的动态。 :)
      • 如果您使用带有 helper.js 的移动样板 (html5boilerplate.com/mobile),您可以调用 MBP.preventZoom(),它的工作几乎相同
      • 完美,这正是我想要的。所有其他人都在做出错误的行为或将视口弄乱,以至于响应能力将被覆盖。谢谢扎克!
      【解决方案3】:

      我认为你最好设置视口:

      <meta name="viewport" content="width=device-width, user-scalable=no" />
      

      See this thread

      【讨论】:

      • 我不同意。使用@zachleat 的解决方案,不需要完全禁用缩放。在大多数情况下,完全禁用缩放是一个坏主意:您正在禁用标准交互。
      • 这个用户不仅充满敌意,而且在 iOS10+ 中也不起作用(谢天谢地)。
      【解决方案4】:

      在触摸事件时禁用移动设备自动缩放的最佳解决方案

      &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1"&gt;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-09
        • 1970-01-01
        • 1970-01-01
        • 2011-10-27
        • 1970-01-01
        • 2017-02-04
        • 1970-01-01
        相关资源
        最近更新 更多