我有一个简单的Web应用程序,在遇到特殊情况时,无法调整mottie虚拟键盘。
我的屏幕上有许多字段。如果用户单击其中一个文本框(每个文本框都绑定了一个虚拟键盘),则焦点对准功能会隐藏页面上的其他元素,并放大当前字段/标签。
虚拟键盘在此状态下工作良好。当我输入文本时,单击“接受”或单击虚拟键盘矩形外部的区域,焦点模糊,键盘消失,所有字段再次显示。
我遇到的问题是,当用户单击虚拟键之间的微小空间或虚拟键盘的矩形内不是键的任何区域时,键盘保持可见(应如此),但所有其他元素仍然可见在向下点击的过程中,键盘背后会闪烁屏幕。因此,向下点击会导致焦点从所选元素模糊,仅在释放向下点击后立即立即再次聚焦。
我希望虚拟键盘有一些参数可以使虚拟键盘的任何非键部分成为单击的盲区,但我一直找不到。有人对此有经验吗?谢谢!
如果您想将焦点返回到文本框,则可以尝试这样的操作(demo):
$(function() {
$('#keyboard').keyboard({
visible: function(e, keyboard, el) {
keyboard.$keyboard.on('mousedown', function() {
setTimeout(function() {
keyboard.$preview.focus();
}, 100);
});
}
});
});
我一开始是通过单击'click'来完成的,但是直到释放鼠标后它才聚焦。我不确定为什么您会看到所有内容消失(也许是css :active
设置?),但这可能应该[[几乎立即恢复焦点。