Cordova iOs 在视图转换时在 SAPUI5 应用程序中无故显示键盘

Posted

技术标签:

【中文标题】Cordova iOs 在视图转换时在 SAPUI5 应用程序中无故显示键盘【英文标题】:Cordova iOs shows Keyboard for no Reason in SAPUI5 Application on View Trasition 【发布时间】:2015-07-31 10:44:32 【问题描述】:

显示新视图时键盘打开。本机 Objective-c 代码显示,keyboardWillShow 通知被抛出。

Safari 调试器显示 html 正文标记在键盘打开时处于活动状态。这似乎没有意义。

这是 Safari 的错误吗?我该如何解决这个问题?我需要防止键盘打开。或者最好找出导致键盘打开的原因。

我的第一种方法是调用document.getElementById(document.activeElement.id).blur(),只要调试器正在运行,它就可以工作。可能是时间问题(键盘必须先打开才能再次关闭。)

【问题讨论】:

【参考方案1】:

您的意思是 NavContainer/App 控件中的视图转换?此控件将焦点放在新页面/视图中的第一个可聚焦元素 - 如果它是输入字段,则可能会在触摸设备上打开键盘。这是你的情况吗?

此行为是一个已知问题,目前正在制定解决方案。作为一种解决方法,您可以尝试在输入字段之前添加可聚焦元素。

【讨论】:

不起作用,因为document.activeElement 是 HTML 站点的正文。还有其他建议吗? 嗯,你说键盘打开时焦点不在输入字段中?那很奇怪。实际上,在焦点输入字段上调用 ​​blur() 甚至应该关闭键盘。将焦点放在身体上的键盘打开没有多大意义......不知道......(顺便说一句:在 1.30 中,NavContainer/App 控件可能有一个“autoFocus”属性,可以关闭焦点行为。我们说话时正在添加它。)

以上是关于Cordova iOs 在视图转换时在 SAPUI5 应用程序中无故显示键盘的主要内容,如果未能解决你的问题,请参考以下文章

如何制作滚动视图,滚动iOS时在特定页面中滚动

SAPUI5 重用视图并创建新实例

SAPUI5 XML 视图文本不可见

ios5 - 在横向时在页面视图控制器中翻页

SAPUI5 如何在语义详细视图中插入片段或 xmlview

SAPUI5 列表绑定与 XML 视图中的过滤数据