【问题标题】:React: trigger a zoom out after a zoom in caused by input focusReact:输入焦点导致放大后触发缩小
【发布时间】:2021-11-22 16:37:18
【问题描述】:

由于<input> 获得焦点,在页面被放大后,有一种方法可以在 React 中缩小页面?想象一个简单的组件,如下所示:我想缩小表单提交。

const Component = (props) =>{

 const handleSubmit = (e) => {
   e.preventDefault();
   //Zoom out
 }

 return(
   <form onSubmit={handleSubmit}>
      <input/>
      <button>Sign in</button>
   </form>
 );
}

重要:

我确实想要禁用放大效果。我发现通过设置视口maximum-scale=1 或将字体大小设置为16px 我可以禁用它[Link here],但这不是我想要的页面行为。

【问题讨论】:

    标签: javascript reactjs mobile


    【解决方案1】:

    您可以在您的 handleSubmit() 方法中触发此操作以将缩放重置为 100%:

    window.document.body.style.zoom = 1;
    

    请注意,根据 caniuse,这在 Firefox 中不起作用: https://caniuse.com/css-zoom

    【讨论】:

    • 我正在使用 typescript 并且在属于 body 的样式中找不到缩放。这是我得到的错误:Property 'zoom' does not exist on type 'CSSStyleDeclaration'.
    猜你喜欢
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 2022-01-16
    • 2011-08-27
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多