使用 Ext JS 7.2 在按钮单击时触发 Android 键盘

Posted

技术标签:

【中文标题】使用 Ext JS 7.2 在按钮单击时触发 Android 键盘【英文标题】:Android Keyboard triggered on button click using Ext JS 7.2 【发布时间】:2020-06-19 21:12:33 【问题描述】:

我正在做一个 Ext JS 项目,我们将 sencha ext js 从 6.0 升级到 7.2。 自此次更新以来,我们在 Android 设备上遇到了一些键盘问题。

问题是当我有一个文本字段聚焦(键盘已经关闭)然后我点击某个按钮时,键盘被打开了。

步骤:

    单击文本字段。 可视化移动键盘。 单击 android 后退按钮关闭移动键盘。 可视化文本字段保持焦点。 点击按钮组件。 可视化键盘已打开。

PS.:应该提一下,在旧版本的 sencha 上我们没有这个问题。在这个旧版本中,焦点保持在字段上,但是当单击按钮时,焦点被移除,我们没有打开键盘。

谢谢, 雷纳托。

【问题讨论】:

现代还是经典工具包? 【参考方案1】:

在现代工具包中发现了这个错误。问题出在按钮上,当您单击它时,它没有聚焦。以下覆盖将有所帮助:

Ext.define('Overrides.Button', 
    override: 'Ext.Button',
    doTap: function(me, e) 
        this.focus();
        this.callParent(arguments);
    
);

用于复制的小提琴:https://fiddle.sencha.com/#view/editor&fiddle/36rb 使用软键盘在 android 设备上打开小提琴结果:https://fiddle.sencha.com/fiddle/36rb/preview

您也可以在桌面 chrome 版本上看到该错误,只需在浏览器中打开结果字段,在开发工具(控制台)中切换到移动模式。当您单击按钮时,焦点不会移动到按钮并停留在文本字段上。我认为这就是软键盘打开的原因。

【讨论】:

你好亚瑟!非常感谢你的回复!这是你第二次帮助我。我非常感谢。是的,这是我正在使用的现代工具包!我明天试试,让你知道!再次感谢您的帮助!

以上是关于使用 Ext JS 7.2 在按钮单击时触发 Android 键盘的主要内容,如果未能解决你的问题,请参考以下文章

离开文本区域时按钮单击未触发

在 ext js 中的按钮单击事件上从网格和数据库中删除记录

如何打开新选项卡并重定向到链接 EXT JS portlet 按钮

如何在使用 Vue.js 触发任何事件时创建新组件?

eventListener 在刷新 JS 之前多次触发

按钮单击事件未从控制器触发 - 初学者 [关闭]