gpt4 book ai didi

javascript - 如何使用 PhoneGap 的软键盘 (org.apache.cordova.plugin.softkeyboard)?

转载 作者:行者123 更新时间:2023-11-30 02:54:10 24 4
gpt4 key购买 nike

我正在编写我的第一个 PhoneGap 应用程序,我需要以编程方式使键盘出现和消失。不幸的是,它不起作用,但我想知道我是否做对了。这是事情的状态:

我用了$ cordova plugin search keyboard在命令行找到这个插件,然后我这样安装:

$ cordova plugin add org.apache.cordova.plugin.softkeyboard
Fetching plugin "org.apache.cordova.plugin.softkeyboard" via plugin registry
Installing "org.apache.cordova.plugin.softkeyboard" for android

基于 another SO answer ,然后我将这一行添加到我的 config.xml 中:

<plugin name="SoftKeyBoard" value="org.apache.cordova.plugin.SoftKeyBoard" />

我将 softkeyboard.js 放在 myapp/www/js/中,并在 html 中引用它,如下所示:

<script type="text/javascript" charset="utf-8" src="js/softkeyboard.js"></script>

安装后,SoftKeyboard.java 出现在 myapp/plugins/org.apache.cordova.plugin.softkeyboard 中。但为了更好的衡量,我还在 myapp/src/org/apache/cordova/plugin/中放了一份副本。

最后,我将这些添加到我的 html 中:

<button id="keyboard">Toggle Keyboard</button>

<script>
var softkeyboard = window.cordova.plugins.SoftKeyBoard;
$('#keyboard').toggle(softkeyboard.show, softkeyboard.hide);
</script>

您可能已经猜到了,当我重建并单击按钮时没有任何反应。我应该采取哪些不同的做法?

谢谢!

附言- 在看到如此多的 SO 答案中使用了插件(单数)和插件(复数)之后,我以两种方式重命名了所有内容,这并没有影响结果。

最佳答案

使用 cordova add plugin 添加插件后命令,不需要包含插件的 js 文件。您只需要包含 cordova.js(我认为您已经这样做了,但最好澄清一下):

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>

添加插件后,您应该构建或准备项目以使插件生效。 Cordova cli 工具会将 javascript 和 native (android、ios 等)代码复制到 platforms/%platform_name% 中目录。插件在大多数情况下无法在浏览器中运行,但绝不会在 /www 中运行目录(因为该目录中不应有 cordova.js)。

我认为这里的问题是您使用的 jQuery 切换功能。它实际上是一个用于切换元素显示状态的函数。 (参见:http://api.jquery.com/toggle/)

这将在您模拟或运行您的 Android 应用程序时起作用。

<script>
var isKeyboardShown = false;
var softkeyboard = window.cordova.plugins.SoftKeyBoard;
$('#keyboard').click(function() {
(isKeyboardShown = !isKeyboardShown) ? softkeyboard.show() : softkeyboard.hide();
});
</script>

关于javascript - 如何使用 PhoneGap 的软键盘 (org.apache.cordova.plugin.softkeyboard)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23588404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com