对此有很多疑问。但他们都谈论将重点放在一个领域。这是我的问题:
我有一个输入类型字段。当用户点击它时,它将打开我的自定义mobiscroll功能。在某些情况下,如Android 2. *或Windows平板电脑,它也显示虚拟键盘!如何编写虚拟键盘永远不会出现的情况!
谁能帮助我:)。
答案 0 :(得分:7)
要移除键盘,您需要失去对活动元素的关注。没有其他解决方案
因此,在删除焦点后显示弹出窗口。
示例:
function clickInput() {
openPopUp();
document.activeElement.blur(); // lose focus on the active element and hide keyboard
}
<强>更新强>
我不知道“mobiscroll”。但要隐藏键盘,您需要关注活动元素。
document.activeElement && document.activeElement.blur();
// This code remove the keyboard constantly.
答案 1 :(得分:2)
模糊是我问题的关键! Mobiscroll有一个名为onBeforeShow的方法,在mobiscroll出现之前调用它。在这个方法中,我在输入类型上使用了blur()我使用了mobiscroll!我的代码如下:
var options = {
preset: this.preset,
theme: 'wp light',
mode: 'scroller',
display: 'bottom',
timeWheels: "HHii",
dateFormat: "dd-mm-yy",
timeFormat: "HH:ii",
lang: 'nl', // TODO: Deduce from application language.
onBeforeShow: (html, inst) => { this.findControl().blur();}
};
this.findControl().mobiscroll(options);
答案 2 :(得分:1)
Blur是Android上的关键,但禁用父级是WinJS的关键。
var control = jQuery("#someControl");
// Disabling the parent prevents the keyboard to popup for WinJS.
control.parent().prop('disabled', true);
var options = {
preset: this.preset,
mode: 'scroller',
display: 'bottom',
timeWheels: "HHii",
dateFormat: "dd-mm-yy",
timeFormat: "HH:ii",
lang: 'nl',
onBeforeShow: function (inst) {
// Blur the control because Android will otherwise show the keyboard.
control.blur();
}
};
control.mobiscroll(options);