使用Jquery/Javascript(Mobiscroll)隐藏移动设备上的虚拟键盘
关于这一点有很多问题。但他们都在谈论把焦点放在一个领域上。我的问题是: 我有一个输入类型字段。当用户单击它时,它将打开我的自定义mobiscroll功能。在某些情况下,比如Android 2.*或windows surface平板电脑,它也会显示虚拟键盘!如何编写一个虚拟键盘永远不会出现的案例使用Jquery/Javascript(Mobiscroll)隐藏移动设备上的虚拟键盘,javascript,jquery,keyboard,virtual,mobiscroll,Javascript,Jquery,Keyboard,Virtual,Mobiscroll,关于这一点有很多问题。但他们都在谈论把焦点放在一个领域上。我的问题是: 我有一个输入类型字段。当用户单击它时,它将打开我的自定义mobiscroll功能。在某些情况下,比如Android 2.*或windows surface平板电脑,它也会显示虚拟键盘!如何编写一个虚拟键盘永远不会出现的案例 谁能帮助我:)要移除键盘,您需要在活动元素上失去焦点。没有其他解决办法 因此,显示您的弹出窗口,并在移除焦点之后 例如: function clickInput() { openPopUp();
谁能帮助我:)要移除键盘,您需要在活动元素上失去焦点。没有其他解决办法 因此,显示您的弹出窗口,并在移除焦点之后 例如:
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.
模糊是我问题的关键!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);
模糊是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);
也许我的弹出文本是个坏主意。因为我用的是mobiscroll。这类似于将自动打开的输入类型。我已经编辑了我的问题Thanx r3步!blur()函数毕竟有帮助。正是使用mobiscroll和blur的组合实现了这一点!