键盘没有在Android和BlackBerry中显示元素焦点
Keyboard not getting displayed in Android and BlackBerry on element focus
在启动应用程序时,我需要将键盘显示在屏幕上。
我可以在iOS中实现这一点,在那里我将焦点设置在文本字段上,键盘就会出现。然而,在Android和BlackBerry中,即使文本字段越来越集中,键盘也不会显示出来。
我使用了以下代码来设置焦点:
setTimeout(function(){
document.getElementById("mglTxtEmailAddr").focus();
}, 200);
Android假设您使用的是Worklight 6.2或更高版本,则可以使用以下代码来显示Android键盘的焦点。
Javascript:
document.getElementById('mglTxtEmailAddr').addEventListener('focus', function(){
WL.App.sendActionToNative('showKeyboard',{});
});
setTimeout(function(){
document.getElementById("mglTxtEmailAddr").focus();
}, 200);
在Worklight Studio生成的活动类中,在onCreate函数的末尾添加以下操作接收器。
YourActivity.java:
WL.getInstance().addActionReceiver(new WLActionReceiver(){
@Override
public void onActionReceived(String action, JSONObject arg1) {
if("showKeyboard".equals(action)) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
}
}
});
iOS
对于AppDelegate类中的iOS,只需在wlInitDidCompleteSuccessfully
中添加以下代码:
[cordovaViewController.webView setKeyboardDisplayRequiresUserAction:NO];
相关文章:
- javascript来显示元素属性
- 使用JavaScript或jQuery隐藏和显示元素
- 如何在Angular JS中滚动显示元素
- 如何在使用jQuery应用display:none后正确显示元素
- 仅使用Javascript隐藏/显示元素,而不会弄乱DOM
- jQuery单击并显示元素列表
- 键盘没有在Android和BlackBerry中显示元素焦点
- 在CSS转换期间显示元素的大小值
- 当我们关注jQuery时,只显示元素
- 包含方法和突出显示元素的问题
- JS/JQuery隐藏元素,更改文本,显示元素
- 如何显示元素的一部分,并在单击时切换到所有元素
- 在隐藏元素中显示元素
- 当PROTRACTOR元素后面有元素时,我怎么能知道当前的显示元素
- 在mouseover上显示元素在mouseleave上隐藏
- jquery显示元素是否具有类和特定值的内容
- 不能在复选框旁边显示元素
- 动态显示元素上的JavaScript触摸端;不要开火
- 点击JQuery/HTML5显示元素的索引/位置
- AngularJS:如何默认显示元素,并在按下按钮时切换