当文本输入元素具有焦点(并且软键盘可见)时,我无法直接单击提交按钮(清晰可见)。我必须首先关闭键盘(通过单击其他位置或键盘上的"完成"然后单击提交按钮。
这是令人困惑的行为。当键盘可见时,我已经考虑过完全删除登录按钮,但这会让人感到困惑(因为用户不会知道他们可以点击" Go"或者会对此感到恼火登录按钮不断消失。)
这只发生在iOS上(不确定它是否仅限于iOS 7,但怀疑它可能是这样),而且我在我的应用程序中使用了Telirik AppBuilder。
答案 0 :(得分:1)
function isTextInput(node) {
return ['INPUT', 'TEXTAREA'].indexOf(node.nodeName) !== -1;
}
document.addEventListener('touchstart', function(e) {
if (!isTextInput(e.target) && isTextInput(document.activeElement)) {
document.activeElement.blur();
}
}, false);
答案 1 :(得分:1)
因为我使用的是<button>
标签,所以当不需要时会弹出软键盘。我现在更改了<table>
的所有内容(在<td>
标记内,但可能是<div>
),其中包含<img>
标记。为了使表看起来更像一个按钮,有一个用于颜色/边框的CSS类。提交区域位于顶部(也是)。
可以在http://ask.stroudvoices.co.uk/
检查页面似乎Android(假设iPad等)也将按钮视为另一种<input>
,而<table>
则视为<body>
。
有时会有一个简单的答案,来自旧技术!
答案 2 :(得分:0)
我遇到了类似的问题。我需要的是当我点击“提交”按钮并且想要保持软键盘可见时。 这是我的解决方法。
submit.addEventListener('mousedown', function(e) {
e.preventDefault();
});
我给Submit按钮一个mousedown事件,并阻止默认事件。它可以在大多数手机上使用,但是在某些系统中发现ios 12.1.2不可用。就像问题的所有者说的那样,我需要轻按两次,一次是隐藏键盘,第二次是到达提交按钮。 这让我感到困惑,我无法解决。