【发布时间】:2016-07-18 16:39:04
【问题描述】:
我编写了一个电子应用程序并实现了我自己的输入小部件,以用于我的应用程序 - 针对移动触摸输入进行了优化。 总的来说,这是否是一个好主意不应该是本次讨论的一部分。
我现在的问题是,当我在 Windows 10 平板电脑上安装我的应用程序时,只要我关注输入字段,操作系统就会打开屏幕键盘。
当然,屏幕键盘可以在 Windows 本身中关闭 - 不幸的是,它似乎没有按预期工作...... 如果我关闭键盘,它将不再显示在任何地方 - Windows 资源管理器、浏览器 - 无处。它按预期工作。 但是即使我停止了相应的 windows 服务,电子应用程序仍然会打开它。
所以我的结论是电子本身打开键盘并忽略系统告诉它的任何内容。不过,我没有找到任何文档或 API 来关闭此功能。
有谁知道我可以如何实现我的目标?
提前谢谢你,
帕特里克
【问题讨论】:
-
用户如何在没有键盘的情况下输入输入字段?
-
如前所述,我已经实现了自己的输入小部件。其中一部分是自定义屏幕键盘。重要的是用户必须使用这个小部件,并且没有其他(例如来自操作系统的那个)有这样做的原因,但解释它们将超出此线程的目的。
-
在那种情况下,为什么还要使用输入字段呢?为什么不只拥有一个只读文本框并使用这些小部件来更新该文本框中的文本?您可以做的另一件事是禁用整个应用程序的所有触摸事件。如果你愿意,我可以提供如何做到这一点的答案。您还可以在这个输入框和
preventDefault()上收听触摸事件,这样它们就不会冒泡 -
嘿@justin.m.chase - 谢谢你的回答。我使用本机输入字段有几个原因,但同样,解释我的所有推理太复杂了。我使用 angularjs 作为框架和扩展的输入字段,以便在它们上使用大量预先实现的功能。不幸的是,我无法禁用任何事件或任何东西,因为该应用程序必须在不同的设备上运行并以相同的方式运行。唯一的选择是阻止操作系统做它不应该做的事情——即弹出已关闭的键盘
-
那我觉得你得把不想获得焦点的UI元素遮起来,然后自己处理触摸事件。
标签: javascript mobile windows-10 tablet electron