【问题标题】:Preventing keyboard dismissal on form submit on mobile view of web app防止在 Web 应用程序的移动视图上提交表单时关闭键盘
【发布时间】:2021-09-16 04:58:14
【问题描述】:

我正在创建一个 PHP Javascript 聊天应用程序。每当我单击发送按钮时,它只会向下滑动/关闭键盘。如果我需要发送新消息,我必须再次点击textarea 字段以使键盘向上滑动/出现以进行输入。每次发送后这种不需要的键盘关闭很烦人。我没有在此处包含任何代码,因为这不是我的脚本中出现的编码错误。这似乎是 Web 应用程序在单击表单的提交按钮时关闭键盘的默认行为。

下面的 gif 显示了正在发生的事情。如何防止这种默认行为?

https://gifyu.com/image/ABYn

【问题讨论】:

    标签: javascript jquery mobile jquery-mobile web-applications


    【解决方案1】:

    这里的问题是每次单击发送按钮时,textarea 都会失去焦点。一旦textarea 失去焦点,屏幕键盘就没有理由可见了。您可以通过在单击事件中添加 javascript 代码来解决此问题,以便每次单击提交按钮后屏幕键盘都保留在那里。

    你可以使用类似的东西:

    const form = document.querySelector(".typing-area"),
    inputField = form.querySelector(".input-field"),
    sendBtn = form.querySelector("button");
    
    // PREVENT FORM SUBMISSION BY PAGE REFRESH (THE DEFAULT BEHAVIOUR)
    form.onsubmit = (e)=> {
      e.preventDefault();
    }
    
    // ADD FOCUS TO INPUT FIELD BY DEFAULT (ON PAGE LOAD)
    inputField.focus();
    
    // PREVENT INPUT FIELD FROM LOOSING FOCUS AFTER SEND BUTTON IS CLICKED
    sendBtn.onclick = ()=> {
      inputField.focus();
    }
    

    【讨论】:

      猜你喜欢
      • 2014-11-12
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      相关资源
      最近更新 更多